Trajectory control profiles are often used by a control system to position a control object. Such profiles generally define a desired seek trajectory for the control object as the object is moved from an initial position to a destination position.
If the control object has a substantial non-zero initial velocity at the beginning of the seek, however, the control system may not be able to adequately follow the associated profile(s). This may result in overall loss of control, excessive settle time, and/or the undesired excitation of system resonances.
Various embodiments are generally directed to moving a control object using a sine-based trajectory profile with an initial non-zero velocity.
In accordance with some embodiments, a method generally comprises formulating a sine-based trajectory profile in relation to an initial non-zero velocity of a control object, and moving the control object to nominally follow the profile from an initial position to a destination position.
In accordance with other embodiments, an apparatus generally comprises a control object, and a controller which formulates a sine-based trajectory profile in relation to an initial non-zero velocity of the control object, and moves the control object to nominally follow the profile from an initial position to a destination position.
In accordance with still other embodiments, an apparatus generally comprises a control object, and first means for formulating a sine-based trajectory profile in relation to an initial non-zero velocity of the control object, and for moving the control object from an initial position to a destination position in relation to the profile and the initial non-zero velocity.
The device 100 includes a housing 102 formed from a base deck 104 and top cover 106. An internally disposed spindle motor 108 is configured to rotate a number of storage media 110. An array of transducers 112 access data tracks (not shown) defined on the media surfaces to transfer data between the media 110 and a host device.
An actuator 114 moves the transducers 112 through application of current to a voice coil motor (VCM) 116. A flex circuit assembly 117 provides electrical communication paths between the actuator 112 and device control electronics on an externally disposed printed circuit board (PCB) 118.
The demod circuit 124 detects and conditions the servo data, including application of automatic gain control (AGC) and conversion of the signals to digital form. A servo controller 126 processes the digitized servo data to generate a current command signal that is supplied to a motor driver circuit 128. In response, the driver circuit 128 applies the appropriate current to the VCM 116 to position the transducer 112.
The servo controller 126 is preferably characterized as a programmable processor with associated servo code to direct the operation of the servo loop, although the controller can take other forms including being partially or fully realized in hardware. The controller 126 generally operates in two primary modes, seeking and track following. Seeking generally involves controlled movement of the selected transducer 112 from an initial track to a destination track. Track following generally comprises operation of the controller 126 to maintain the selected transducer 112 over the center (or other commanded position) a selected track in order to carry out data I/O operations with the track.
As explained below, during a seek operation the servo circuit 120 preferably operates to formulate a seek profile that defines a sinusoidal trajectory for a selected transducer 112 from an initial track at a non-zero velocity to a destination track at a zero velocity. The transducer 112 is then moved to the destination track in relation to the formulated seek profile and a measured non-zero initial velocity of the transducer.
An embodiment of the servo controller 126 is set forth by
The profile generator 130 further receives a destination position (XD) value on path 134, which generally identifies the final position (e.g., a destination track) to which the transducer is to be moved. The difference between the destination position and a present position (X0) indicates a seek length value, or physical distance to be moved during the seek.
In response to these inputs, the profile generator 130 outputs a feed forward command (FF) profile on path 136, and a position reference (XREF) profile on path 138. The FF profile defines a desired sinusoidal acceleration trajectory for the transducer 112, and the XREF profile defines a desired sinusoidal position displacement during the seek. In some embodiments, sine-function based values are supplied to the profile generator 130 by a separate sine table 140, although sine-function approximations can be alternatively calculated as discussed below.
The FF and XREF profiles are utilized by the servo controller 126 as reference profiles during the seek operation, so that the respective acceleration and positional displacement of the transducer 112 are caused to nominally follow the FF and XREF profiles during the seek operation. It is contemplated that the profiles are utilized for relatively short model reference seeks, although such is not limiting. Other profiles can be generated and used during the seek operation as well, such as a jerk profile, a velocity profile, etc.
The profile generator 130 of
where T is the seek period, or interval during which the seek is to be carried out over seek samples n (i.e., n increments from 1 to T), seeklength is the physical distance over which the transducer 112 is to be moved, V0 is the initial velocity, FF(n) is the feed forward command value for each seek sample n from 1 to T, and XREF(n) is the corresponding position value for each seek sample n from 1 to T. While the foregoing formulations are preferred, such are not limiting.
The profiles of equations (1) and (2) accommodate substantial ranges of initial velocity values while still providing smooth, continuous and efficient trajectories to the destination track. The profiles further eliminate the need to separately brake the transducer to bring the velocity to substantially zero prior to the seek, as well as eliminate the need to apply relatively large impulse acceleration values to kill the initial velocity during early stages of the seek.
Curve 150 in
A second profile is denoted by curve 152. Curve 152 corresponds to the same one-track seek, but this time the transducer 112 is provided with an initial velocity V0 of 0.5 tracks/sample in a direction toward the destination track, and will also complete the seek in 20 samples (i.e., T=20). As shown in
A third profile is denoted by curve 154, which shows the one-track seek to be carried out with an initial velocity of −0.5 tracks/sample away from the destination track which is also completed in 20 samples (T=20). As shown in
As can be seen from
Decision step 206 next evaluates the seek length in relation to a threshold length (TL). Relatively longer seeks (SL>TL) are preferably carried out using a conventional velocity controlled approach at step 208 in which the transducer 112 is accelerated to a maximum coast velocity and then controllably decelerated to the destination track along a velocity deceleration profile. The routine then ends at step 210.
Shorter seeks on the other hand preferably utilize the sinusoidal profile methodology discussed above. In such case the routine continues at step 212 to determine the radial velocity V0 of the transducer 112. This can be carried out in a number of ways, including by detecting changes in actual position from the servo data of the initial track currently being followed.
The seek period T is next selected at step 214 to identify an appropriate number of samples n over which the sinusoidal profile-based seek is to be performed. As desired, various ranges of seek lengths can be correlated to different seek periods, such as T=20 samples for seeks of up to X1 tracks in length, T=25 for seeks between X1 and X2 tracks in length, and so on.
Associated trajectory control profiles are next generated at step 216 to define the desired trajectories for the transducer 112, taking into account the seek period T and the initial velocity V0. Preferably, FF and XREF profiles are generated during this step in accordance with equations (1) and (2) above, although such is not limiting. The seek is thereafter performed at step 218 in accordance with the profile(s) generated at step 216 to move the transducer 112 to the destination track, after which the routine ends at step 210 as before.
Generally, profile formulations such as exemplified by equations (1) and (2) are relatively straightforward except for the sine-function values (in this case, sin(2πn/T)). The sine-function values can be obtained from the sine table 140 in
In other embodiments, a table-less implementation is provided in which a Taylor series approximation for the sine-function is utilized. As will be recognized, the Taylor series for the sine function is given as:
where x is in radians. In order to reduce computational complexity, only the first few terms are used for the interval 0 to π/4. For angles outside of this range, the computation uses periodicity and symmetry of the sine function to extrapolate. Homer's rule is also used to factor the higher order terms and factorial terms. This reduces the sine function approximation to:
The formulation of equation (4) is advantageous compared to equation (3) since the highest order calculation is x2 rather than x7, and the factorial terms of equation (3) are eliminated from equation (4). Empirical analysis demonstrates that the values from equation (4) closely align with the respective sine function values of
While embodiments presented herein have been directed to the environment of a data storage device, such is not limiting. Rather, any number of control system environments can be tailored to incorporate the invention as claimed below, including control systems that carry out movements of control objects in other coordinate domains such as rotational, linear, parabolic, spherical, etc. Reference herein to sine-based profiles is not necessarily limited to profile formulations that include the term sin(x), but rather extend to other sinusoidal functions including cos(x), 1−cos(x), arctan(x), etc., as well as polynomial approximations thereof.
The term “track” will be understood broadly to describe a trajectory associated with a control object, irrespective of whether data are, or can be, stored therealong. The first means will be understood to correspond to the circuitry of
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this detailed description is illustrative only, and changes may be made in detail, especially in matters of structure and arrangements of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.
The present application makes a claim of domestic priority to U.S. Provisional Patent Application No. 60/813,289 filed Jun. 13, 2006.
Number | Name | Date | Kind |
---|---|---|---|
5179514 | Rastegar et al. | Jan 1993 | A |
6031684 | Gregg | Feb 2000 | A |
6111720 | Clare et al. | Aug 2000 | A |
6178060 | Liu | Jan 2001 | B1 |
6549364 | Shih | Apr 2003 | B1 |
6574070 | Gregg | Jun 2003 | B2 |
6744590 | Chu et al. | Jun 2004 | B2 |
6801384 | Chu et al. | Oct 2004 | B2 |
6870342 | Naik | Mar 2005 | B2 |
6873490 | Guo et al. | Mar 2005 | B2 |
7054099 | Hansen | May 2006 | B2 |
7136258 | Kisaka | Nov 2006 | B2 |
Number | Date | Country | |
---|---|---|---|
20070285833 A1 | Dec 2007 | US |
Number | Date | Country | |
---|---|---|---|
60813289 | Jun 2006 | US |