Abstract:
An automated nanomanipulation system is provided for manufacturing a nanoscale structure. The system includes: a design model for the nanoscale structure; image data of a sample surface upon which the nanoscale structure is to be manufactured; a movable member configured to perform a nanomanipulation operation on the sample surface; and a path planning subsystem adapted to receive the design model and the image data. The path planning subsystem generates path data indicative of a path for traversing the movable member along the sample surface such that the movable member manipulates one or more randomly distributed nanoobjects in accordance with the design model.

Description:
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application No. 60/601,785 filed on Aug. 16, 2004, and entitled “Automated Nanoassembly” the specification and drawings of which are hereby expressly incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to nanotechnology and, more particularly, to a framework for automated nano-assembly of nanoscale structures. 
     BACKGROUND OF THE INVENTION 
     Nanoscale materials with unique mechanical, electronic, optical and chemical properties have a variety of potential applications such as nanoelectromecahnical systems (NEMS) and nanosensors. The development of nano-assembly technologies will lead to potential breakthroughs in manufacturing new revolutionary industrial products. The techniques for nano-assembly can be generally classified into bottom-up and top-down methods. Self-assembly in nanoscale is reported as the most promising bottom-up technique, which is applied to make, regular, symmetric patterns of nanoentites. However, many potential nanostructures and nanodevices are asymmetric, which cannot be manufactured using self-assembly only. A top-down method would be desirable to fabricate complex nanostructures. 
     The semiconductor fabrication technique is a matured “top-down” method, which has been used in the fabrication of microelectromechanical systems (MEMS). However, it is difficult to build nano-structures using this method due to limitations of the lithography in which the smallest feature that can be made must be larger than half the wavelength of the light used in the lithography. Although smaller features can be made by electron beam (e-beam) nanolithography, it is practically very difficult to position the feature precisely using e-beam nanolithography. The high cost of the SEM, ultrahigh vacuum condition, and space limitation inside the SEM vacuum capsule also impede its wide applications. 
     Atomic force microscopy has been proven to be a powerful technique to study sample surfaces down to the nanoscale. It can work with both conductive and insulating materials and in many conditions, such as air and liquid. Not only can it characterize sample surfaces, it can also modify them through nanolithography and nanomanipulation which are promising nano-fabrication techniques that combine “top-down” and “bottom-up” advantages. In recent years, many kinds of AFM-based nanolithography have been implemented on a variety of surfaces such as semiconductors, metals and soft materials and a variety of AFM-based nanomanipulation schemes have been developed to position and manipulate nanoobjects. However, nanolithography itself can hardly be considered as sufficient for fabrication of a complete device. Thus, manipulation of nanoobjects has to be involved in order to manufacture nanostructures and nanodevices. The AFM-based nanomanipulation is much more complicated and difficult than the AFM-based nanolithography because nanoobjects have to be manipulated from one place to another by the AFM tip and some times it is necessary to relocate the nanoobjects during nanomanipulation while only patterns will be drawn during nanolithography. Since the AFM tip as the manipulation end-effector can only apply a point force on a nanoobject, the pushing point on the nanoobject has to be precisely controlled in order to manipulate the nanoobjects to their desired positions. But positioning errors due to the random drift and the deformation of the cantilever cause the nanoobjects to be easily lost during manipulation or manipulated to wrong places. In the most recently available AFM-based manipulation method, the manipulation paths are obtained either manually using haptic devices or in an interactive way between the users and the atomic force microscope (AFM) images. The main problem of these schemes is their lack of real-time visual feedback. Since the nanoobjects can be easily lost or manipulated to wrong destinations during manipulation using these schemes, the result of each operation has to be verified by a new image scan before the next operation starts. This scan-design-manipulation-scan cycle is usually time consuming and inefficient. 
     In order to increase the efficiency and accuracy of AFM-based nano-assembly, automated CAD guided nano-assembly is desirable. In the macro-world, CAD guided automated manufacturing has been widely studied. However, it is not a trivial extension from the macro-world to the nanoworld. In the nanoenvironments, the nanoobjects, which include nanoparticles, nanorods, nanowires, nanotubes and etc., are usually distributed on a substrate surface randomly. Therefore, the nanoenvironment and the available nanoobjects have to be modeled in order to design a feasible nanostructure. Because manipulation of nanoparticles only requires translation while manipulation of other nanoobjects such as nanorods involves both translation and rotation, manipulation of nanorods is more challenging than that of nanoparticles. To generate a feasible path to manipulate nanoobjects, obstacle avoidance has to be considered too. Turns around obstacles should also be avoided since turns may cause the failure of the manipulation. Because of the positioning errors due to the random drift, the actual position of each nanoobject has to be identified before each operation. Therefore, it is desirable to develop an automated nanomanipulation system which addresses these and other concerns. 
     SUMMARY OF THE INVENTION 
     An automated nanomanipulation system is provided for manufacturing a nanoscale structure. The system includes: a design model for the nanoscale structure; image data of a sample surface upon which the nanoscale structure is to be manufactured; a movable member configured to perform a nanomanipulation operation on the sample surface; and a path planning subsystem adapted to receive the design model and the image data. The path planning subsystem operable to generate path data indicative of a path for traversing the movable member along the sample surface such that the movable member manipulates one or more randomly distributed nanoobjects in accordance with the design model. The system further includes a simulation subsystem for simulating assembly prior to manipulation and a user interface which enables real-time monitoring of the manipulation process by an operator. 
     In another aspect of the present invention, an automated method is provided for determining manipulation paths for nanoobjects which form a nanoscale structure. The method includes: determining possible direct paths between randomly distributed nanoobjects and destinations for the nanoobjects as specified by a design model, where a direct path is a straight line without any obstacles between a nanoobject and a destination; assigning a randomly distributed nanoobject having a direct path to a destination using a minimum distance criterion; determining a number of destinations which are obstacles along the path of each assigned nanoobject; and setting a manipulation path for the assigned nanoobject having the highest number of obstacles. 
     Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of an automated nanomanipulation system according to the principles of the present invention; 
         FIG. 2  is a block diagram of a path planning subsystem which is incorporated into the nanomanipulation system of the present invention; 
         FIG. 3  depicts a two-dimensional CAD model for an exemplary nanostructure which may be constructed using the present invention; 
         FIG. 4  is a flowchart illustrating an exemplary method for determining manipulation paths in accordance with the present invention; 
         FIG. 5  is a diagram illustrating a direct paths between different objects and different destinations; 
         FIGS. 6A and 6B  are diagrams illustrating the van der Waals force between a particle object and a particle obstacle and a rod obstacle, respectively; 
         FIGS. 7A and 7B  are diagram illustrating an indirect path having one or more intermediate destinations along the path; 
         FIGS. 8A and 8B  are diagrams illustrating behavior models for a nanorod under a pushing force; 
         FIG. 9  is a diagram illustrating the initial position of a nanorod in relation to its destination position; 
         FIG. 10  is a diagram illustrating the manipulation of a nanorod in accordance with the present invention; 
         FIG. 11  is a diagram illustrating how to determine the pushing points when a nanorod is rotated; 
         FIG. 12  is a flowchart depicting an exemplary method for compensating for thermal drift of a nanoobject in accordance with the present invention; 
         FIG. 13  is a diagram illustrating a local scan pattern for locating a nanoparticle to be manipulated; 
         FIGS. 14A and 14B  are diagrams illustrating how a path may be modified to compensate for thermal drift; and 
         FIG. 15  is a diagram illustrating a local scan pattern for locating a nanorod to be manipulated. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A general framework for an automated nano-assembly according to the principles of the present invention is illustrated in  FIG. 1 . The automated nanomanipulation system  10  for manufacturing a nanoscale structure is generally comprised of CAD model  12  for a nanoscale structure; and a nanomanipulation system having an automated path planning subsystem  14 . In an exemplary embodiment, the nanomanipulation system employs an atomic force microscope  16  (AFM) to image a sample surface as well as manipulate nanoobjects which reside on the sample surface. Further details regarding an exemplary AFM-based nanomanipulation system are found in U.S. patent application Ser. No. 10/428,578 filed on May 2, 2003 and which is incorporated herein by reference. Although an atomic force microscope is presently preferred, this is not intended as a limitation on the broader aspects of the present invention. On the contrary, other types of scanned-proximity probe microscopes (e.g., scanning tunneling microscopes) may be used as the basis of the nanomanipulation system. 
     In operation, the atomic force microscope is operable to image the surface of a sample upon which a nanoscale structure is to be constructed. Based on the CAD model and the image data of the sample surface, the path planning subsystem  16  generates manipulation paths for nanoobjects residing on the sample surface. The paths may be simulated through a simulation interface before being fed to the atomic force microscope for execution. The tip of the cantilever on the microscope serves as the member which moves nanoobjects along the sample surface in accordance with the manipulations paths. 
     The nanomanipulation system  14  may further include a simulation subsystem  17  and a user interface  18 . Given path data, the simulation subsystem  17  is operable to simulate the proposed construction of a nanoscale structure. Simulation may be achieved using a software-implemented algorithm. The simulation subsystem  17  is further configured to display the simulation results on the user interface  18 . In this way, an operator may verify the feasibility of the design before manipulation occurs. The user interface  18  is also enables real-time monitoring of the manipulation process in a manner known in the art. 
       FIG. 2  further illustrates the path planning subsystem  16  of the present invention. Nanoobjects on a surface are first identified based on the AFM image. A nanostructure may be designed using the available nanoobjects. Initially, collision-free manipulation paths are generated based on the CAD model of a designed nanostructure. In order to overcome random drift, a local scanning method is then applied to identify the actual position of a nanoobject before its manipulation. Each manipulation path of the nanoobject is then adjusted accordingly based on its actual position. The regenerated path is then sent to the AFM system to manipulate the nanoobject. The process continues until all nanoobjects are processed and a nanostructure is finally fabricated. There are several concerns which have to be addressed to manufacture nanostructures automatically: identification of nanoobjects; design of a nanostructure; automatically generation of manipulation paths and drift compensation. Each of these concerns is further discussed below. 
       FIG. 4  depicts an exemplary method for determining manipulation paths in accordance with one aspect of the present invention. Identifying nanoobjects on a surface upon which a nanostructure is to be constructed is a first step as indicated at  41 . Because nanoobjects are randomly distributed, the position of each nanoobject has to be determined in order to generate a manipulation path. In addition, nanoobjects have different shapes, such as nanoparticles and nanorods. Thus, the nanoobjects have to be categorized before the manipulation because the manipulation algorithms for these nanoobjects are different. 
     XY coordinates and height information of each pixel can be obtained from the AFM scanning data. Because the height, shape and size of nanoobjects are known, they are used as criteria to identify nanoobjects and obstacles based on a fuzzy method. For example, all pixels higher than a threshold height are identified. The shapes of clustered pixels are categorized and compared with the ideal shapes of nanoobjects. If the shape of clustered pixels is close to the ideal shape, the pixels are assigned a higher probability (p 1 ). Next, if the height of a pixel is close to the ideal height of nanoobjects, a higher probability (p 2 ) is assigned to it. The neighboring pixels with higher probability (p 1 p 2 ) are counted and the area of the pixels are identified. If the area is close to the size of nanoobjects, the pixels are assigned a higher probability (p 3 ). If the probability (p 1 p 2 p 3 ) of a pixel is higher than a threshold, it is in a nanoobject. Using the neighboring relationship of pixels, objects can then be identified. The length of a nanoobject can also be calculated by finding the long and short axes using a least square fitting algorithm. If the length-width ratio is larger than a set value, the nanoobject is considered to be a nanorod, otherwise, the nanoobject is categorized as a nanoparticle. It is readily understood that other techniques for identifying and categorizing nanoobjects are within the broader aspects of the present invention. 
       FIG. 3  shows a two dimensional CAD model for an exemplary nanoscale structure  30  comprised of two nanoparticles  31  and two nanorods  32 . The CAD model is designed using Unigraphics software or some other known CAD tool. From the CAD model of the nanostructure, the positions of the destinations where the nanoobjects will be manipulated can be obtained. It is readily understood that other types of design models which define the spatial relationship between nanoobjects is also within the scope of the present invention. 
     Since a tip of an AFM can only apply force to a point on a nanoobject in AFM-based nanomanipulation, it is very challenging to generate manipulation paths for nanoobjects, especially for nanorods because manipulation of nanoparticles only requires translation while that of nanorods involves translation as well as rotation. To generate a feasible path to manipulate nanoobjects, obstacle avoidance has to be considered. Turns around obstacles should be avoided since turns may cause the failure of manipulation. 
     Once nanoobjects and other obstacles have identified, possible direct paths are determined at  42  between the randomly distributed nanoobjects on the sample surface and the destinations for the nanoobjects as specified by the design model. Referring to  FIG. 4 , a direct path is a connection from an object to a destination using a straight line without any obstacles or potential obstacles along the path. The paths from O 2  to D 2  and from O 1  to D 2  are direct paths; whereas, the path between O 1  and D 1  is not a direct path due to the collision with S 1 . Due to the van der Waals force between an object and an obstacle, the object may be attracted to the obstacle if the distance between them is too small. Therefore, when assessing a valid path, the minimum distance has to be determined first to avoid this attraction. 
       FIGS. 6A and 6B  show a particle object  61  in relation to a particle obstacle  62  and a rod obstacle  63 , respectively. In the first case, all objects and obstacles are assumed to be spheres, the van der Waals force can be expressed as: 
               F   W     =         -   A       6   ⁢           ⁢   D       ⁢         R   1     ⁢     R   2           R   1     +     R   2                 
where F W  is the van der Waals force; A is the Hamaker constant; D is the distance between the two spheres; R 1  and R 2  are the radius of the two spheres.
 
     When the obstacle is a rod, we can use the van der Waals force between a nanoparticle and a surface to approximate the van der Waals force between the nanoparticle and a nanorod because the length of a nanorod is much longer than the radius of a nanoparticle. The van der Waals force between a nanoparticle and a surface can be expressed as: 
                     F   W     =         -   A     ⁢           ⁢   R       6   ⁢           ⁢   D               (   2   )               
where F W  is the van der Waals force; D is the distance between a nanoparticle and a nanorod; R is the radius of the two spheres.
 
     Different materials have different Hamaker constants. Nevertheless, the hamaker constants are found to lie in the range (0.4-4)×10-19 J. If an object is not attracted to an obstacle, the van der Waals force between an object and a destination has to be balanced by the friction force between the object and the surface. The friction force between the object and the surface can be formulated as:
 
 F   c =μ os   F   os   r   +vF   os   a   (3)
 
where F c  is the friction force; μ os  is the sliding friction coefficient between an object and the substrate surface; v is the shear coefficient; F os   r  is the repulsive force and F os   a  is the adhesive force. When pushing an object, the minimum repulsive force equals to the adhesive force. Then equation (3) becomes
 
 F   c =(μ os   +v ) F   os   a   (4)
 
The adhesive force F os   a  can be estimated by [18]:
 
     
       
         
           
             
               
                 
                   
                     F 
                     
                       o 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       s 
                     
                     a 
                   
                   = 
                   
                     
                       
                         A 
                         
                           o 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           s 
                         
                       
                       
                         A 
                         
                           t 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           s 
                         
                       
                     
                     ⁢ 
                     
                       F 
                       
                         t 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         s 
                       
                       a 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     where A os  is the nominal contact area between an object and a substrate surface; A ts  is the nominal contact area between the AFM tip and the substrate surface; F ts   a  is the adhesive force between the AFM tip and the surface which is measured. 
     Since the van der Waals force has to be balanced by the friction force during manipulation, the minimum distance D min  can be calculated using equations (1, 2, 4 and 5): 
                     D   min     =     {                 A   ⁢           ⁢   R     6     ⁢       A     t   ⁢           ⁢   s           (       μ     o   ⁢           ⁢   s       +   v     )     ⁢     A     o   ⁢           ⁢   s       ⁢     F     t   ⁢           ⁢   s     a           ,               where   ⁢           ⁢   the   ⁢           ⁢   obstacle   ⁢           ⁢   is   ⁢           ⁢   a   ⁢           ⁢   nanorod                   A   6     ⁢         R   1     ⁢     R   2           R   1     +     R   2         ⁢       A     t   ⁢           ⁢   s           (       μ     o   ⁢           ⁢   s       +   v     )     ⁢     A     o   ⁢           ⁢   s       ⁢     F     t   ⁢           ⁢   s     a           ,               where   ⁢           ⁢   the   ⁢           ⁢   obstacle   ⁢           ⁢   is   ⁢           ⁢   a   ⁢           ⁢     nanoparticle   .                       (   6   )               
The distance between an object and a rod must be larger than D min  during manipulation. If there is an obstacle which is close or on the straight line, the path formed by the straight line is not considered as a direct path. For example, the path between O 2  and D 1  is not a direct path due to the attraction. This means that any obstacle cannot block the direct path between an object and a destination.
 
     From amongst all of the possible direct paths, one object is assigned at step  43  to each destination. More specifically, objects are assigned to destinations using a minimum distance criterion. In some instance, there may be destinations which do not have any objects assigned to them. In other words, there were no direct paths from any of the available objects to these destinations. Therefore, indirect paths may be generated as indicated at  45 . 
     During nanomanipulation, a path with turns has a much higher risk of losing objects than a direct path. A surface has to be scanned again if an object is lost during manipulation. Because the scanning time is much longer than the manipulation time, turns should be avoided during nanomanipulation. To solve the problem, a virtual-object-destination algorithm is developed. 
     Referring to  FIGS. 7A and 7B , an object and a destination may be connected using one or more virtual-object-destinations (VOD). Since there are many possible VODs to connect an object and a destination, a minimum distance criterion is applied to find a VOD. The total distance to connect an object and a destination through a VOD is,
 
 d =√{square root over (( x   2   −x   0 ) 2 +( y   2   −y   0 ) 2 )}{square root over (( x   2   −x   0 ) 2 +( y   2   −y   0 ) 2 )}+√{square root over (( x   2   −x   1 ) 2 +( y   2   −y   1 ) 2 )}{square root over (( x   2   −x   1 ) 2 +( y   2   −y   1 ) 2 )}  (7)
 
where x 2 ,y 2  are the coordinates of the center of VOD; x 0 ,y 0  are the coordinates of the center of an object and x 1 ,y 1  are the coordinates of the center of a destination. Likewise, connections between the object, the VOD, and its destination have to avoid any obstacles, i.e,
 
√{square root over (( x−x   s ) 2 +( y−y   s ) 2 )}{square root over (( x−x   s ) 2 +( y−y   s ) 2 )}≧ D   min   +R′   (8)
 
where x, y are the coordinates of the object center along the path; x s , y s  are the coordinates of the center of the obstacle. R′ is defined as
 
                     R   ′     =     {           R   ,           the   ⁢           ⁢   obstacle   ⁢           ⁢   is   ⁢           ⁢   a   ⁢           ⁢   nanorod                   R   1     +     R   2       ,           the   ⁢           ⁢   obstacle   ⁢           ⁢   is   ⁢           ⁢   a   ⁢           ⁢   nanoparticle                     (   9   )               
Then a constrained optimization problem is formulated:
 
                           min   ⁢           ⁢   d         x   2     ,     y   2         ⁢           ⁢           (       x   2     -     x   0       )     2     +       (       y   2     -     y   0       )     2           +           (       x   2     -     x   1       )     2     +       (       y   2     -     y   1       )     2           ⁢     
     ⁢       subject   ⁢           ⁢   to   ⁢     :     ⁢           ⁢           (     x   -     x   s       )     2     +       (     y   -     y   s       )     2           ≥       D   min     +     R   ′                 (   10   )               
This is a single objective constrained optimization problem. A quadratic loss penalty function method is adopted to deal with the constrained optimization problem by formulating a new function G(x):
 
                       min   ⁢           ⁢     G   ⁡     (   x   )             x   2     ,     y   2         =         min   ⁢           ⁢   d         x   2     ,     y   2         +       β   ⁡     (     min   ⁡     [     0   ,   g     ]       )       2               (   11   )               
where β is a big scalar and g is formulated using the given constraint, i.e.
   g =√{square root over (( x−x   s ) 2 +( y−y   s ) 2 )}{square root over (( x−x   s ) 2 +( y−y   s ) 2 )}−( D   min   +R ′)  (12) 
Then the constrained optimization problem is transferred into an unconstrained one using the quadratic loss penalty function method. The pattern search method is adopted here to optimize the unconstrained optimization problem to obtain the VOD.
 
     If one VOD can not reach an unassigned destination, then two or more intermediate VODs have to be found to connect an object and a destination as shown in  FIG. 7B . Similarly, the total distance to connect the object and destination can be calculated. The constraint is the same as equation (10). Then a multi-variable constrained optimization problem can be formulated to obtain the VODs. 
     Once an indirect path has been determined and assigned for each destination, the number of destinations which may become obstacles along each path is assessed at  47 . When an object is manipulated to a destination, the destination may become an obstacle (destination obstacle) for other paths. Before an object is pushed to its destination, it could also be an obstacle for other objects (object obstacle). An object priority index (OPI) of an object is the number of objects which are obstacles along the path between the object and a destination. A destination priority index (DPI) of a destination is the number of destinations which are obstacles along the direct path between the destination and its assigned object. Therefore, the path having the highest number of destination obstacles (i.e., the maximum DPI) is set at 48 as a manipulation path. 
     The object associated with this manipulation path is removed from the list of available nanoobjects. Likewise, the destination associated with this manipulation path has been achieved and thus is considered as an obstacle for subsequent path determinations. This process is then repeated until a manipulation path has been set for each of the destinations. 
     The manipulation of a nanorod is much more complicated than that of a nanoparticle because there are both translation and rotation during manipulating a nanorod. A nanorod can only be manipulated to a desired position by applying force alternatively close to its ends. From an AFM image, nanorods can be identified and represented by their radius and two end points. Each end point on a nanorod has to be assigned to the corresponding point on the destination. The starting pushing point is important since it determines the direction along which the object moves. By choosing a suitable step size, an AFM tip path can then be generated. 
     To automatically manipulate a nanorod, nanorod&#39;s behavior under a pushing force has to be modeled. When a pushing force is applied to a nanorod, the nanorod starts to rotate around a pivot if the pushing force is larger than the friction force.  FIG. 8A  shows the applied pushing force and the pivot. The nanorod rotates around point D when it is pushed at point C by the AFM tip. The nanorod under pushing may have different kinds of behavior, which depends on its own geometry property. The pushing force F from the tip causes the friction and shear forces along the rod axis direction when the pushing direction is not perpendicular to the rod axis. Since the force along the rod axis direction hardly causes the rod to move along the rod axis direction, the rod can be simplified as a straight line. The external forces applied on the rod in surface plane can be modeled as shown in  FIG. 8B . The pivot D can be either inside the rod or outside the rod. First, assume that D is inside the rod. In this case, all the torques around D are self balanced during smooth motion. 
                     F   ⁡     (     l   -   s     )       =         1   2     ⁢       f   ⁡     (     L   -   s     )       2       +       1   2     ⁢   f   ⁢           ⁢     s   2                 (   13   )               
where F is the applied external force; ƒ is the evenly distributed friction and shear force density on the rod; L is the length of the rod; s is the distance from one end of the rod (point A in  FIG. 8B ) to the pivot D; l is the distance from A to C, where the external force is applied. Equation (13) can be written as:
 
                   F   =           f   ⁡     (     L   -   s     )       2     +     f   ⁢           ⁢     s   2           2   ⁢     (     l   -   s     )                 (   14   )               
The pivot can be found by minimizing F with respect to s, i.e.
 
                       ⅆ   F       ⅆ   s       =       0   ⇒       s   2     -     2   ⁢           ⁢   l   ⁢           ⁢   s     +   lL   -       L   2     /   2         =   0             (   15   )               
Since we have assumed that 0&lt;s&lt;L, a unique solution of the pivot for any 0&lt;l&lt;L except l=L/2 can be determined by
 
                   s   =     {           1   +         l   2     -   lL   +       L   2     /   2                 l   &lt;     L   /   2                 l   -         l   2     -   lL   +       L   2     /   2                 l   &lt;     L   /   2                       (   16   )               
The detailed behavior model of a nanorod can be found in previous work.
 
     The corresponding points between a nanorod and its destination have to be matched in order to plan a manipulation path.  FIG. 9  shows the initial position and the destination of a rod. P s1  and P s2  are the initial positions; P d1  and P d2  are the destinations. 
     The angles α 1  and α 2  in  FIG. 9  can then be calculated. Based on the angle α 1  and α 2 , the corresponding points can be determined. If α 1 &lt;α 2 , P s1  is manipulated to P d1  and P s2  to P d2 . Otherwise, P s2  is manipulated to P d1  and P s1  to P s2 . 
     The nanorod moves downward if the starting pushing point is close to P s2 . Similarly, the nanorod moves upward if the starting pushing point is close to P s1 . The starting pushing point can be determined by the angle β as shown in  FIG. 9 . If β&gt;90°, the starting pushing point should be close to P s2 ; otherwise, P s1 . 
       FIG. 10  shows the process to manipulate a nanorod from its initial position to its destination. When the alternating pushing forces at two points on the nanorod are applied, a nanorod rotates around two pivots P i  and Q i . The distance L 1  between P i  and Q i  can be calculated if the pushing points are determined. The two pivots P s  and P d  are connected to form a straight line and the distance d between the two points is calculated. d is then divided into N small segments (the number of manipulation). Then L p  in  FIG. 10  can be obtained: 
                       L   p     =     d   N       ,     0   &lt;     L   p     &lt;     2   ⁢           ⁢       L   1     .                 (   17   )               
During manipulation, the pivot P i  is always on the line generated by the two points P s  and P d . Then the rotation angle for each step can be obtained,
 
     
       
         
           
             
               
                 
                   θ 
                   = 
                   
                     2 
                     ⁢ 
                     a 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       cos 
                       ⁡ 
                       
                         ( 
                         
                           
                             L 
                             p 
                           
                           
                             2 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               L 
                               1 
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     The rotation angle θ stays the same during manipulation. The initial pushing angle θ 1  and the final pushing angle θ 2  in  FIG. 10  can be calculated by finding the starting position and the ending position. After θ is determined, the pivots P i  and Q i  (i=1, . . . , N) can be calculated. The pushing points can then be determined. Here we show how to determine the pushing points when a rod rotates around the pivot P i  as an example.  FIG. 11  shows the frames used to determine the tip position. 
     The following transformation matrix can be easily calculated. The transformation matrix of the frame originated at P s  relative to the original frame is T s . The transformation matrix of the frame originated at P i  relative to the frame originated at P s  is T i . Suppose the rotation angel is β (0&lt;β≦θ), the transformation matrix relative to the frame originated at P i  is T βi . β can be obtained by setting a step size of manipulation. The coordinates of the pushing point can then be calculated: 
                     [           X   F               Y   F             1         ]     =       T   8     ⁢     T   i     ⁢       T     β   ⁢           ⁢   i       ⁡     [         0             L   -     2   ⁢   s               1         ]                 (   19   )               
Similar steps can be followed to determine the pushing position for a nanorod rotating around the pivot Q i ,i∈[1,N]. After the coordinates of the pushing point is obtained, the manipulation path for a nanorod can then be generated.
 
     Random drift due to the thermal extension or contraction causes a major problem during nanomanipulation because the object may be easily lost or manipulated to wrong destinations. Before the manipulation, the objects on the surface are identified and their positions are labeled based on a previously captured AFM image. However, the labeled positions of the nanoobjects have errors after the system switching from image mode to manipulation mode due to the random drift. To compensate for the random drift, the actual position of each nanoobject has to be recovered before each operation. Because the scanning time is quite long to scan a big area, a quick local scanning action is performed to obtain the actual initial position of each nanoobject in a short time. Nanomanipulation is then performed immediately after the local scan. The local scan mechanism makes the movie-like real-time image display during manipulation reliable especially for the starting and ending positions. Nanoparticles, nanorods, nanotubes, and nanowires are the most often used materials for AFM based nano-manufacturing. Most nanoobjects used for nano-manufacturing usually have nice and regular shape such as nanocrystals, nanowires, carbon nanotubes, and DNA molecules. The local scan mechanism for rigid nano-objects such as nanoparticles and nanorods is discussed in details in the followings. 
       FIG. 12  shows the local scanning method. From the path data, the original position of a nanoobject is obtained. Also the nanoobject is categorized into two groups: nanoparticle and nanorod. A scanning pattern is generated for the nanoobject according to its group. It is then fed to the imaging interface to scan the surface. If the nanoobject is not found, a new scanning pattern is generated. The process continues until the nanoobject is discovered. The actual position of the nanoobject can then be computed. The manipulation path is then adjusted based on the actual position. For nanoparticles and nanorods, different scanning patterns have to be used in order to obtain their actual position. 
     The location of a nanoparticle can be approximately represented by its center and radius. The radius of each particle, R, is identified from a previously captured AFM image before the manipulation starts. Due to the thermal drift and model errors, the displayed position may not represent the actual position. The actual center of a nanoparticle can be recovered by two local scan actions before and after each manipulating operation. The local-scan-before-operation can eliminate the thermal drift, while the local-scan-after-operation mainly minimizes the effects of model errors—correcting the final position of the nanoparticle. 
     The local-scan-before-operation needs at least two scanning lines, one or more horizontal lines and one vertical line as shown in the left part of  FIG. 13 . First, the nano-particle is scanned using Line L 0 , which passes through point O, the displayed center of the particle in the image. If the particle is not found, then the scanning line moves up and down alternatively by a distance of 3/2R until the particle is found. Once the particle is found, the scanning line forms two intersection points with the boundary of the particle, P 1  and P 2 . Additional vertical line, V, which goes through the midpoint between P 1  and P 2  and perpendicular to the previous scanning line, is scanned to find the actual center of the particle. The vertical scanning line has two intersection points with the boundary of the particle, Q 1  and Q 2 . The actual center of the nano-particle, O a , is located at the midpoint between Q 1  and Q 2 . The local scanning range (the length of the scanning line, l) is determine by the maximum random drift such that l&gt;R+r max , where r max  is the maximum random drift distance 
     After the center of a nanoobject is identified, the drifts in the XY directions are calculated. The drifts in the XY directions are then used to update the destination position as shown in  FIG. 14(   a ). Finally a new path is generated to manipulate the nanoparticle. 
     The local-scan-after-operation has to be performed immediately after each manipulating operation in order to correct the position errors in the real-time display. At least two scanning lines are needed for the local-scan-after-operation as shown in the right part of  FIG. 13 . First, the nanoparticle is scanned using Line L′ 0 , which passes through the initial actual center and along the tip motion direction. If the particle is not found, then the scanning line moves up and down alternatively by a distance of 3/2R until the particle is found. Once the particle is found, the scanning line forms two intersection points with the boundary of the particle, P′ 1  and P′ 2 . Another line, V′, which goes through the midpoint between P′ 1  and P′ 2 , and perpendicular to the previous scanning line, is scanned to find the actual center of the particle. The last scan line has two intersection points with the boundary of the particle, Q′ 1  and Q′ 2 . The final actual center of the nanoparticle, O′ a , is located at the midpoint between Q′ 1  and Q′ 2 . The local scanning range (the length of the scanning line, l′) is determine by the maximum random drift and the pushing distance such that l′&gt;Δ+2(R+r max ), where Δ is the pushing distance. The visual display is updated immediately after the actual position obtained. The updated position will work as the new reference for the next operation on the same particle. The system is ready for next manipulating operation after updating the image with the final actual position of the manipulated nanoparticle 
     After the local scan of the first nanoparticle, the direction and size of the drift can be estimated. The information can be used to generate the scanning pattern for the next nanoparticle as shown in  FIG. 14(   b ). 
     Although the position of a nanorod is represented by its center, length and orientation in the behavior models, the location of a nanorod is represented by its width and two ends in local scan for convenience. The center, length and orientation can be easily calculated through its width and two ends. The initial displayed rod width and ends are identified from a previously captured AFM image before the manipulation starts. Due to the thermal drift and model inaccuracy, the displayed position may not represent the actual position. The thermal drift usually causes translational errors, while the model inaccuracy causes both translation and orientation errors significantly. The actual two ends of a nano-rod can be recovered by two local scan actions before and after each manipulating operation. The local-scan-before-operation eliminates the thermal drift, while the local-scan-after-operation mainly minimizes the effects of model errors—correcting the final position of the rod 
     The local-scan-before-operation needs at least two scanning lines, one or more lines perpendicular to the rod orientation and one line parallel to the rod orientation, as shown in the left part of  FIG. 15 . First, the nanorod is scanned using Line L 0 , which passes through the displayed center of the rod and perpendicular to the rod orientation. If the rod is not found, then the scanning line move up and down alternatively by a distance of 1/4L until the rod is found, where L is the rod length. Once the rod is found, the scanning line forms two intersection points with the boundary of the rod, P 1  and P 2 . Another line, V, which goes through the midpoint between P 1  and P 2  and parallel to the rod orientation, is scanned to find the actual two ends of the rod. The scanning line, V, has two intersection points with the boundary of the rod, Q 1  and Q 2 . These two points are the actual two ends of the rod. The actual rod center, orientation can be calculated correspondingly. The pushing operation will be performed immediately based on the actual position of the rod. The local scanning range (the length of the scanning line, l) is determine by the maximum random drift such that l&gt;d+r max , where d is the rod width 
     For the local-scan-after-operation, at least three scanning lines are needed as shown in the right part of  FIG. 15 . First, the nanorod is scanned using Line L′ 0 , which passes through the initial pushing point, T, and along the pushing direction, O a O′, as shown in  FIG. 15 . If the rod is not found, then the scanning line goes along Line O a O′. If the rod is still not found, the scanning action continues by moving the scan line up and down by a distance of 1/4L sin α until two scan lines can locate the rod, where α is the angle between the pushing direction and the initial rod orientation. Each of the two scan lines has two intersection points with the boundary of the rod. For example P′ 1  and P′ 2  for Line L′ 0 , P′ 3  and P′ 4  for Line L′ 1  Another line, V′, which goes from the midpoint between P′ 1  and P′ 2  to the midpoint between P′ 3  and P′ 4 , is scanned to locate the two actual ends of the rod. The scanning line, V′, has two intersection points with the boundary of the rod, Q′ 1  and Q′ 2 . These two points are the actual ends of the rod. The local scanning range (the length of the scanning line, l′) is determine by the maximum random drift and the pushing distance such that l′&gt;Δ+2(d+r max ), where Δ is the pushing distance (the tip moving distance during pushing). The visual display is updated immediately after the actual position obtained. The updated position will work as the new reference for the next operation on the same rod. The system is ready for next manipulating operation after updating the image with the final actual position of the manipulated nanorod 
     This general framework can manufacture nanostructures not only by manipulating nanoobjects, but also by removing materials from the surface. Similarly, the steps include: designing a CAD model of a nanostructure; removing materials from the surface using the tip of an AFM, for example, nanotrenches or nanoholes can be created by pushing the AFM tip into the surface; also nanoobjects can be pushed into the nanotrenches or nanoholes to form the designed nanostructures if necessary. 
     The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.