System and method to control slip-stick stages
11418133 · 2022-08-16
Assignee
Inventors
Cpc classification
H02N2/062
ELECTRICITY
H02N2/0075
ELECTRICITY
H10N30/802
ELECTRICITY
International classification
H02N2/00
ELECTRICITY
Abstract
A system to control slip-stick stages that includes a slip-stick stage including an actuator and a processor coupled to the actuator to obtain a frequency, a number of measurement samples, and a voltage; determine a time period based on the number of measurement samples and the frequency; sample a displacement of the actuator during the time period. The system functions to calculate an error value based on the displacement and a reference position; determine a step value based on the error value and a modulation protocol. The modulation protocol includes a proportional modulation protocol or a proportional-integral modulation protocol to generate a control signal based on the step value, the frequency and the voltage based on an integral of a function of voltage and a Heaviside function according to a direction specified by a sign of the step value; and transmit the control signal to the actuator.
Claims
1. A system to control slip-stick stages, the system comprising: a slip-stick stage including an actuator; and one or more processors coupled to the actuator and a nontransitory computer readable storage having software instructions stored thereon that, when executed, cause the one or more processors to perform operations including: a) obtaining a frequency, a number of measurement samples, and a voltage; b) determining a time period based on the number of measurement samples and the frequency; c) sampling a displacement of the actuator during the time period; for each sample taken during the time period: d) calculating an error value based on the displacement and a reference position; e) determining a step value based on the error value and a modulation protocol, wherein the modulation protocol includes one of a proportional modulation protocol or a proportional-integral modulation protocol; f) generating a control signal based on the step value, the frequency and the voltage, wherein the control signal is based on an integral of a function of voltage and a Heaviside function according to a direction specified by a sign of the step value; and g) transmitting the control signal to the actuator.
2. The system of claim 1, wherein the actuator is a piezo electric actuator.
3. The system of claim 1, wherein the actuator is a piezo electric and the stick-slip stage further includes an end effector.
4. The system of claim 1, wherein the proportional modulation protocol includes determining the step value according to:
u.sub.stepInt(Ke(t)), where K is a constant, e(t) is the error value and Int(s) represent an integer value of a real s.
5. The system of claim 1, wherein the proportional-integral modulation protocol includes determining the step value according to:
u.sub.step(t)=Int(K e(t)+K.sub.I ∫.sub.0.sup.t e(s)ds) where K is a constant, t is time, e(t) is the error value and Int(s) represent an integer value of a real s.
6. The system of claim 1, wherein generating the control signal is performed based on a number of steps in the step value.
7. The system of claim 1, wherein the operations further include repeating operations a)-g) for a subsequent time period with new values for one or more of the frequency, the number of measurement samples, or the voltage.
8. A non-transitory computer readable medium having instructions stored therein that, when executed by one or more processors, cause the one or more processors to perform operations to control slip-stick stages, the operations comprising: a) obtaining a frequency, a number of measurement samples, and a voltage; b) determining a time period based on the number of measurement samples and the frequency; c) sampling a displacement of an actuator of a slip-stick stage during the time period; for each sample taken during the time period: d) calculating an error value based on the displacement and a reference position; e) determining a step value based on the error value and a modulation protocol, wherein the modulation protocol includes one of a proportional modulation protocol or a proportional-integral modulation protocol; f) generating a control signal based on the step value, the frequency and the voltage, wherein the control signal is based on an integral of a function of voltage and a Heaviside function according to a direction specified by a sign of the step value; and g) transmitting the control signal to the actuator.
9. The non-transitory computer readable medium of claim 8, wherein the actuator is a piezo electric actuator.
10. The non-transitory computer readable medium of claim 8, wherein the actuator is a piezo electric actuator and the stick-slip stage includes an end effector.
11. The non-transitory computer readable medium of claim 8, wherein the proportional modulation protocol includes determining the step value according to:
u.sub.step(t) =Int(Ke(t) where K is a constant, e(t) is the error value and Int(s) represent an integer value of a real s.
12. The non-transitory computer readable medium of claim 8, wherein the proportional-integral modulation protocol includes determining the step value according to: ti u.sub.step(t)=Int(K e(t)+K.sub.I ∫.sub.0.sup.t e(s)ds) where K is a constant, t is time, e(t) is the error value and Int(s) represent an integer value of a real s.
13. The non-transitory computer readable medium of claim 8, wherein generating the control signal is performed based on a number of steps in the step value.
14. The non-transitory computer readable medium of claim 8, wherein the operations further include repeating operations a)-g) for a subsequent time period with new values for one or more of the frequency, the number of measurement samples, or the voltage.
15. A method to control slip-stick stages, the method comprising: a) obtaining a frequency, a number of measurement samples, and a voltage; b) determining a time period based on the number of measurement samples and the frequency; c) sampling a displacement of an actuator of a slip-stick stage during the time period; for each sample taken during the time period: d) calculating an error value based on the displacement and a reference position; e) determining a step value based on the error value and a modulation protocol, wherein the modulation protocol includes one of a proportional modulation protocol or a proportional-integral modulation protocol; f) generating a control signal based on the step value, the frequency and the voltage, wherein the control signal is based on an integral of a function of voltage and a Heaviside function according to a direction specified by a sign of the step value; and g) transmitting the control signal to the actuator.
16. The method of claim 15, wherein the actuator is a piezo electric actuator.
17. The method of claim 15, wherein the actuator is a piezo electric actuator and the stick-slip stage includes an end effector.
18. The method of claim 15, wherein the proportional modulation protocol includes determining the step value according to:
u.sub.step=Int(Ke(t) where K is a constant, e(t) is the error value and Int(s) represent an integer value of a real s.
19. The method of claim 15, wherein the proportional-integral modulation protocol includes determining the step value according to:
u.sub.sep(t)=Int(K e(t)+K.sub.I ∫.sub.0.sup.t e(s)ds) where K is a constant, t is time, e(t) is the error value and Int(s) represent an integer value of a real s.
20. The method of claim 15, further comprising repeating a)-g) for a subsequent time period with new values for one or more of the frequency, the number of measurement samples, or the voltage.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete appreciation of this disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) In the drawings, like reference numerals designate identical or corresponding parts throughout the several views. Further, as used herein, the words “a,” “an” and the like generally carry a meaning of “one or more,” unless stated otherwise. The drawings are generally drawn to scale unless specified otherwise or illustrating schematic structures or flowcharts.
(13) In some implementations, a slip-stick stage (such as that shown in
(14) Initial state. At the beginning, the piezoelectric material of the piezoelectric ceramic actuator is at its normal length and no voltage is applied at this stage.
(15) Stick state. In this state, the input voltage is increased gradually from 0 to 100V (e.g., the voltage can be increased from about 0V to about 100V in 0.3 to 5 seconds, preferably 0.4 to 2.5 seconds, 0.6 to 1 seconds or about 0.8 seconds). The length of piezoelectric material of the piezoelectric ceramic actuator is increased gradually. Because the movement of the piezoelectric material is significantly slow, the static friction between the slide and piezoelectric material is sufficient enough that they stick to each other. The slide (or end effector) which is placed on the piezoelectric material now moves along with the piezoelectric material.
(16) Slip state. In this state, the input voltage is reduced abruptly (e.g., from about 100V to about 0V in 0.01 to less than 0.3 seconds, preferably 0.05 to 0.25 seconds, 0.1 to 0.2 seconds or about 0.2 seconds). The piezoelectric material of the piezoelectric ceramic actuator will contract back to its original length in very short time. Because the movement of piezoelectric material is very fast, the dynamic friction between the slide and piezoelectric material is not sufficient to hold them together. Thus, the slide slips on the piezo electric material and retains its extended position.
(17) A. Single-Step-Control Stage
(18) In the control method presented herein, the actuator can go through one complete stick cycle and one complete slip cycle. Each stick and slip cycle movement can include one step. By repeating multiple single steps an actuator can be controlled to move toward a desired position. Assume each step moves the positioner δ.sub.step distance and the required length of movement is L.sub.d then, the single step control is repeated n times to move the positioner to a level where n=Int(L.sub.d/δ.sub.step) can be determined, where Int(x) stands for the largest integer smaller than x. In a single-step-control stage, a system may be confined by the step size and the movement cannot be smaller than δ.sub.step; therefore, single-step-control stage is used for course movement of the stages.
(19) Algorithm 1 shows how the control input is formed when the number of the steps u.sub.step is specified. In fact, the number of steps can be selected positive or negative to ensure the displacement of the stage in two directions and the control signal result of Algorithm 1 is based on an integral of a function of V.sub.max and a Heaviside function according to the direction specified by the sign of u.sub.step. In
(20) TABLE-US-00001 Algorithm 1 The generation of the applied input for a given u.sub.step Require: u.sub.step, f, V.sub.max and t.sub.0 1: if t.sub.0 < 0 then 2: Error(“Time t.sub.0 should be ≥ 0”); 3: else if u.sub.step > 0 then
(21) B. Proportional Modulation Implementation
(22) Some implementations can include control to track a constant reference. In some implementations, a P-modulated saw-tooth signal can be generated between two successive samples of time. The term “P-modulation” as used herein refers to the type of variation of the steps of the saw-tooth signal, namely proportional modulation. Actually, the voltage command applied to PEA has a limited support of time. According to the desired steps, the saw-tooth signal will be non-null during the period T.sub.s defined as T.sub.s=number of steps/f. The frequency of the saw-tooth signal is set constant and equal to 8000 Hz during the whole simulation.
(23) The first control scheme consists of generating a time-varying saw-tooth signal that permits to increase and decrease the length of the piezoelectric material. Between two consecutive sampling instants, the number of the steps of the saw-tooth signal can be calculated as a function of the error signal between the actual displacement of the stage and the desired reference position. The number of the steps of the saw-tooth signal is seen as a control input. More precisely,
u.sub.step=Int(Ke(t)), (1)
(24) where “Int(s)” stands for the integer value of the real “s.” Algorithm 2 shows how the saw-tooth voltage input is generated during two consecutive samples of time t.sub.k and t.sub.k+1.
(25) TABLE-US-00002 Algorithm 2 The control algorithm with P-modulated saw- tooth voltage Require: Select an appropiate frequency f to generate the
(26) In testing, a SmarAct linear positioner, referenced SLS-5282-L with an integrated position sensor has been used, see
(27) Between two consecutive samples of time, a saw-tooth signal of number of steps u.sub.step=Int(Ke(t)) is applied to PEA. This type of control is very simple and efficient in the sense that a rapid convergence is obtained with an error that does not exceed 2 μm. As shown in
(28) C. Proportional and Integral Modulation
(29) Some implementations can include a second control scheme that consists of modulating the saw-tooth control signal by a time-varying number of steps that are calculated as a function depending on both the instantaneous value of the error and its integral between the initial time and the current time. For each sample of time, the number of steps is calculated as
u.sub.step(t)=Int(K e(t)+K.sub.I ∫.sub.0.sup.t e(s)ds). (3)
(30) Depending on the sign of u.sub.step(t), two different forms of the saw-tooth signal are generated, see
(31) TABLE-US-00003 Algorithm 3 The control strategy of the PI-modulated saw- tooth voltage Require: Set the maximum value of the time samples k.sub.max. Require: Select an appropriate frequency f to generate the number of the steps. The period 1/f should be smaller than the time sampling period. Require: Construct the feedback system shown in Fig, 7. 1: k ← 0. 2: if k ≥ k.sub.max then 3: Go to END. 4: else 5: During the time interval [t.sub.k, t.sub.k+1[, record the error e(t.sub.k). 6: Evaluate
(32) Control strategies based on the variation of the number of steps of the saw-tooth applied voltage provided excellent results compared to open-loop control methodologies.
(33) By updating the number of the steps during two consecutive samples of time, the convergence to the desired reference becomes fast and precise. The increase and the decrease of the maximum voltage of the saw-tooth signal plays a key role in making the reference tracking more accurate.
(34) In some implementations, the controllers described herein can be used to control slip-stick positioning stages in a variety of applications requiring precise motion control and positioning. In addition to a single slip-stick stage providing one axis of control, multiple slip-stick stage positioners and associated controllers as described herein can be combined to provide a multi-axis positioning system.
(35) Applications for slip-stick stages controlled according to one or more implementations described herein can include precision motion control for use in optics, bio-technology, photonics, and semiconductor fields, among others. In general, an implementation of the disclosed controller or control techniques can be suitable for use where precision motion control or positioning of a piezoelectric stick-slip stage is required. For example, a slip-stick stage linear actuator with a controller as described herein can serve as a base for a goniometer. A linear positioning stage with a controller as described herein can be combined with a rotation stage to yield a rotational actuator with precise motion control.
(36)
(37) Processor 1002 can be one or more processors and/or processing circuits to execute program code and control basic operations of the device 1000. A “processor” includes any suitable hardware and/or software system, mechanism or component that processes data, signals or other information. A processor may include a system with a general-purpose central processing unit (CPU), multiple processing units, dedicated circuitry for achieving functionality, or other systems. Processing need not be limited to a particular geographic location, or have temporal limitations. For example, a processor may perform its functions in “real-time,” “offline,” in a “batch mode,” etc. Portions of processing may be performed at different times and at different locations, by different (or the same) processing systems. A computer may be any processor in communication with a memory.
(38) Memory 1006 is typically provided in device 1000 for access by the processor 1002, and may be any suitable processor-readable storage medium, e.g., random access memory (RAM), read-only memory (ROM), Electrical Erasable Read-only Memory (EEPROM), Flash memory, etc., suitable for storing instructions for execution by the processor, and located separate from processor 1002 and/or integrated therewith. Memory 1006 can store software operating on the device 1000 by the processor 1002, including an operating system 1004, one or more P or PI modulated slip-stick control applications 1010, and a database 1012. In some implementations, applications 310 can include instructions that enable processor 1002 to perform the functions described herein.
(39) For example, application 1010 can include control of slip-stick stages using P and PI sawtooth modulated inputs as described herein. Any of software in memory 1004 can alternatively be stored on any other suitable storage location or computer-readable medium. In addition, memory 1004 (and/or other connected storage device(s)) can store machine learning model (e.g., SVM) information, and/or other instructions and data used in the features described herein. Memory 1004 and any other type of storage (magnetic disk, optical disk, magnetic tape, or other tangible media) can be considered “storage” or “storage devices.”
(40) I/O interface 1008 can provide functions to enable interfacing the processing device 1000 with other systems and devices. For example, network communication devices, storage devices (e.g., memory and/or database), and input/output devices can communicate via interface 308. In some implementations, the I/O interface 1008 can connect to interface devices including input devices (keyboard, pointing device, touchscreen, microphone, camera, scanner, etc.) and/or output devices (display device, speaker devices, printer, motor, etc.).
(41) For ease of illustration,
(42) In general, a computer that performs the processes described herein can include one or more processors and a memory (e.g., a non-transitory computer readable medium). The process data and instructions may be stored in the memory. These processes and instructions may also be stored on a storage medium such as a hard drive (HDD) or portable storage medium or may be stored remotely. Note that each of the functions of the described embodiments may be implemented by one or more processors or processing circuits. A processing circuit can include a programmed processor, as a processor includes circuitry. A processing circuit/circuitry may also include devices such as an application specific integrated circuit (ASIC) and conventional circuit components arranged to perform the recited functions. The processing circuitry can be referred to interchangeably as circuitry throughout the disclosure. Further, the claimed advancements are not limited by the form of the computer-readable media on which the instructions of the inventive process are stored. For example, the instructions may be stored on CDs, DVDs, in FLASH memory, RAM, ROM, PROM, EPROM, EEPROM, hard disk or any other information processing device.
(43) The processor may contain one or more processors and even may be implemented using one or more heterogeneous processor systems. According to certain implementations, the instruction set architecture of the processor can use a reduced instruction set architecture, a complex instruction set architecture, a vector processor architecture, a very large instruction word architecture. Furthermore, the processor can be based on the Von Neumann model or the Harvard model. The processor can be a digital signal processor, an FPGA, an ASIC, a PLA, a PLD, or a CPLD. Further, the processor can be an x86 processor by Intel or by AMD; an ARM processor, a Power architecture processor by, e.g., IBM; a SPARC architecture processor by Sun Microsystems or by Oracle; or other known CPU architecture.
(44) The functions and features described herein may also be executed by various distributed components of a system. For example, one or more processors may execute the functions, wherein the processors are distributed across multiple components communicating in a network. The distributed components may include one or more client and server machines, which may share processing in addition to various human interface and communication devices (e.g., display monitors, smart phones, tablets, personal digital assistants (PDAs)). The network may be a private network, such as a LAN or WAN, or may be a public network, such as the Internet. Input to the system may be received via direct user input and received remotely either in real-time or as a batch process. Additionally, some implementations may be performed on modules or hardware not identical to those described. Accordingly, other implementations are within the scope that may be claimed. A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of this disclosure. For example, preferable results may be achieved if the steps of the disclosed techniques were performed in a different sequence, if components in the disclosed systems were combined in a different manner, or if the components were replaced or supplemented by other components. The functions, processes and algorithms described herein may be performed in hardware or software executed by hardware, including computer processors and/or programmable circuits configured to execute program code and/or computer instructions to execute the functions, processes and algorithms described herein. Additionally, an implementation may be performed on modules or hardware not identical to those described. Accordingly, other implementations are within the scope that may be claimed.