Abstract:
A system for polishing and grinding optical surfaces is provides by employing a pad surface that is controllably moved over an affected surface in accordance with control procedures to facilitate a desired surface contour. The system does not require multiple hard master shapes for each desired surface contour but rather is using a limited set of polishing and grinding pad to provide a plurality of conventional and non-conventional surface contours.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to grinding and polishing ophthalmic surfaces, such as plastic and glass ophthalmic lenses and glass molds.  
       BACKGROUND  
       [0002]     Conventional devices for grinding and polishing ophthalmic surfaces first apply a hard master shape to an affected surface so as to remove any form error prior to polishing the surface to optical clarity. In the context of an optical laboratory, where prescription lenses are produced, each prescription value requires its own hard master shape. Hence, an optical laboratory typically has to store and maintain a large inventory of hard laps, which may be cumbersome and expensive.  
         [0003]     Furthermore, conventional methods are limited to the production of spherical and toric surfaces. Certain specialized Computerized Numerical Control machines may be employed to generate non-conventional surface forms such as aspheric, atoric, and progressive geometries. However, these kind of asymmetric shapes are difficult to grind or polish when employing the above mentioned conventional methods. The equipment currently used for grinding and polishing non-conventional surface forms is from the field of high precision optics. The quality, tolerances, and control in this field are very rigorous in comparison to the field of ophthalmic optics (generally more than one order of magnitude). For this reason, the cost of such high precision equipment is very high, as well as requiring specialized operator training, which essentially renders it unavailable.  
         [0004]     Hence, there is a need for a system that allows for automatic grinding and polishing of ophthalmic surfaces, either glass or plastic, which provides a greater surface conformity with respect to the original surface contour, i.e., substantially without any surface deformation, and which obviates the need for an optical laboratory to maintain a large stock of hard master shapes.  
         [0005]     There is also a need for providing an apparatus and method which automatically grinds and polishes an ophthalmic surface to geometries that do not provide a symmetry of revolution.  
       SUMMARY  
       [0006]     The present invention provides a reduced cost apparatus and method as compared with equipment presently available from the field of high precision optics. The present invention also provides an apparatus and method for grinding and polishing ophthalmic surfaces which matches or surpasses mechanical specifications required in the area of ophthalmic optics.  
         [0007]     In accordance with the present invention, an apparatus for grinding and polishing ophthalmic surfaces is provided. In one embodiment, the resultant surface is provided with a symmetry of revolution. The resultant surface is either concave or convex depending on the desired lens properties. In another embodiment, the apparatus includes a rotating flexible shaping pad, which is substantially smaller than the affected surface. The relatively small size of the flexible pad allows it to deform and contour onto any desirable area on the surface.  
         [0008]     The shaping pad is preferably maintained in contact with, and is moved across, the affected surface so as to produce a removal profile which is greatest at the center of pad movement and smallest at the periphery of pad movement.  
         [0009]     The apparatus traces a substantially equally-spaced spiraling path across the affected surface at a substantially constant contouring speed. The rotating speed of the pad and its contact pressure are preferably constant as well. The pad support is allowed to pivot in all directions about its rotating axis so as to maintain the plane of said pad orthogonal to the normal of the surface contact point. Preferably, by controlling the movement rate along the contouring path as well as controlling the pad rotation, the material removal rate is controlled.  
         [0010]     In one embodiment, the present invention provides an apparatus for grinding or polishing an ophthalmic surfaces. The apparatus includes a surface shaping pad and a rotational pad driver coupled to the pad for maintaining the pad in constant contact pressure with an affected surface and for rotating the pad about a first rotational axis. A position drive means of the apparatus is coupled to the pad driver to controllably move the pad relative to the surface being ground or polished along a substantially spiraling contour path. The contour path is centered at the center of the surface and has parallel spiral arcs, which are spaced at a constant distance along any given radius of the spiraling contour path. The contour path further extends between the contour perimeter and the contour center such that a removal profile is produced along the contour path, which has circular symmetry with peak removal at the center of pad movement and minimal removal at the extremes of pad movement. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  illustrates the structure of a surface forming device of the invention;  
         [0012]      FIG. 2  is a schematic perspective drawing of the rotating flexible pad drive mechanism; and  
         [0013]      FIG. 3  is a schematic drawing of the pad support, which shows in more detail the flexible shaping pad. 
     
    
     DETAILED DESCRIPTION  
       [0014]      FIG. 1  illustrates an exemplary embodiment of a surface forming device, which is constructed in accordance with the invention. The illustrated surface forming device preferably includes a shaping pad  20 , a pad drive mechanism  21 , a pad drive shaft  22 , a pad support  23 , and a surface support  34 . The shaping pad  20  is preferably mounted onto the pad support  23  which allows for the shaping pad to flexibly move about a universal ball joint. In one embodiment, the flexible rotating shaping pad  20  is controllably moved over a specimen  28  by a pad drive mechanism  21 , which includes a pad drive shaft  22 . The pad drive shaft  22  is coupled to the pad support  23  so as to transmit rotational movement to the shaping pad  20 .  
         [0015]     In operation, the pad  20  is controllably moved by the pad drive mechanism  21  in a substantially equally-spaced spiraling path across the surface of the specimen, at substantially constant contouring speed. The pad drive mechanism  21  is advantageously controlled to maintain constant pad pressure against the surface of the specimen  28 . The pad drive mechanism  21  rotates the shaping pad  20  about a center axis (R).  
         [0016]     In one embodiment, a four-axis positioning arrangement (“X”, “Y”, “Z”, “W”) guides the pad  20  along the desired spiraling path. In this embodiment, the positioning arrangement maintains the pad drive shaft  22  properly aligned with the normal of the surface  28 . The positioning arrangement preferably includes the pad drive mechanism  21  and the surface support  34 .  
         [0017]     The surface support  34  preferably includes a surface holding block  30 , a chuck  31 , and a holding block drive mechanism  32 . The surface holding block  30  is mounted onto the chuck  31  which rotates about a first axis (Z). The pad drive mechanism  21  traverses along a second axis, (X), such that the synchronized motion of the pad  20  along the first axis and the second axis provides a relatively spiraling trajectory with respect to the surface  28 . The surface support  34  is adapted to move along a third axis (Y), which is parallel to the first axis (Z). This movement is used to adjust the position of the surface  28  and reciprocate any change in surface height. A fourth axis (W), coupled to the pad drive mechanism  21 , allows for pivoting the pad drive mechanism so as to maintain the pad axis of rotation (R) substantially perpendicular to the surface  28 .  
         [0018]     The pad support  23  allows for the pad  20  to pivot in all directions about the pad rotation axis (R) so as to maintain the geometric plane of the pad oriented orthogonal to the surface contact point.  
         [0019]      FIG. 2  illustrates a detailed view of the pad drive mechanism. The illustrated mechanism preferably includes the shaping pad  20 , the pad support  23 , the universal ball-joint  40 , a dowel pin  41 , the pad drive shaft  22 , and a preloading spring  42 . The universal ball-joint  40  allows for the pad support  23  to flexibly pivot about axis of rotation (R). The dowel pin  41  is fastened across the ball joint and allows for the transmission of rotating motion from the pad drive shaft  22  to the pad support  23 . The pad support  23  further allows for reciprocating movement along its longitudinal axis (L). To allow for the reciprocating motion, the pad support  23  is preloaded by the spring  42 , which allows for producing a constant contact pressure over the surface of the specimen. This reciprocating movement further overcomes any minor deviations emanating from causes such as prismatic blocking of the surface  28  or a slight rotation of the block when mounted onto the chuck  31 .  
         [0020]     Tables A illustrates parameters used to facilitate the mathematical control procedure used with the control module of the apparatus. The control module comprises a dedicated personal computer (PC), an input-output digital interface board, an operating system for the PC with real-time extensions which allow for a deterministic interrupt handling response better than 10 microseconds, and a control program which executes low level and high level code.  
                                             TABLE A                       Tool Path Generation process:                                 1. Load Machining parameters:              Vt   Surface Velocity          Ss   Spiral Step          PCT_ERR_Vt   Tolerance for Vt           fluctuations           over 3D surface        2. Load Machine parameters:          VaLim   Angular velocity           limit          VrLim   Radial velocity           limit          Dt   Base time        3. Load Geometry Parameters:       Type of surface   Sphere, Asphere,           Toric, Atoric,           NURBS       Surface Parameters   Diameter,           Curvature(s),           Tilt(s),           Thickness, etc.        4. Select and prepare Geometry Libraries to           provide geometry functions:          Maximum_Radial_Arc_Length   (Surface)          dR_vs_dL   (r, dL)          dL_vs_dR   (r, dr)          Z_from_Surface   (x, y)          Gamma_from_Surface   (x, y)          3D_Arc_Length_Over_Spiral_Path   (ds, dz, Surface)        Select User Interface special functions        (graphics display):          Operator_Warning   (message)        5. Awake and Prepare Low Level section to           receive data from function:          Send_Motion_Deltas   (dr, dth, dz, dw)       /* Coordinated four axes */        6. Initialize Variables:       rM = Diameter/2       rL = Maximum_Radial_Arc_Length (Surface)       Tc = ceil(rL/Ss)            /* Integer turn count value   */       Ss = rL/Tc       /* Recalculate Ss   */       K = Ss/2π       /* Spiral constant for 1 = K*Th   */            dth_lim = 2π * VaLim * Dt           dr_lim = VrLim * Dt       ds_Ref = Vt * Dt       TOL_Vk_dS3D = ds_Ref * PCT_ERR_Vt/100.0       r = rM;       th = 2π * Tc       x = r * cos(th)       y = r * sin(th)       z0 = Z_Surface(x, y)       w0 = Gamma_Surface(x, y)                  
 
         [0021]     Both levels of code are executed in a concurrent manner. The low level (real-time) code requires to be serviced by a fast responsive interrupt service routine, so as to be able to read all of the status conditions of the machine, and further being able to send control signals and commands to the different actuators and motors of the machine. High level (user) code provides an operator interface and advantageously uses the resources of the operating system that do not require a real-time response (math co-processor, graphics processor, communications, libraries, etc.).  
         [0022]     Said user code is responsible to bring about a valid geometrical description of a tool path for processing an ophthalmic surface. Generating the tool path comprises three steps: a complete and precise description of the ophthalmic surface, a definition of the parameters of the spiraling path to be used across said surface and a description of the kinetic limits of the machine.  
         [0023]     The descriptive parameters of the surface include: type of geometry (spherical, toric, aspherical, atoric, progressive, etc.), back and front curvatures of the blank specimen, diameter and thickness of the blank specimen, etc. Non-conventional surface geometries are preferably represented by NURB (non uniform rational B-splines) curves.  
         [0024]     The machining parameters of the tool path include: tangential velocity, distance between parallel spiral arcs, rotating speed of polishing pad, etc. The kinetic parameters of each positioning axis include acceleration and velocity limits.  
         [0025]     Table B illustrates high level user code which facilitates control of the pad positioning means.  
                                                                                                                                                                                                                                                                                                         TABLE B                           Main Control Loop:       while(th &gt;= 0)            {   err3D   = 0               do           {   ds   = ds_Ref − err3D               aux   = K * sqrt(th{circumflex over ( )}2 +1)               dth   = ds/aux                if (dth &gt; dth_lim)                {   /* Keep Angular Velocity Limit */                dth   = dth_lim           ds   = dth * aux           ds_Ref   = ds           Vt   = ds/Dt            /* New (restricted) Vt */                optn&#39;l: Operator_Warning( “New Vt due to VaLim” )                }               dl   = K*dth;            /* Spiral path over spheroid */                dr   = dR_vs_dL( r, dl )            /* Spheroid projection over radial axis */                if (dr &gt; dr_lim)                {   /* Keep Radial Velocity Limit */                dr   = dr_lim           dl   = dL_vs_dR( r, dr)           dth   = dl/K            /* Reduce angular velocity accordingly */                ds   = dth * aux           ds_Ref   = ds           Vt   = ds/Dt            /* New (restricted) Vt */                optn&#39;l:Operator_Warning( “New Vt due to VrLim” )                }               th_aux   = th − dth           r_aux   = r − dr           x   = r_aux * cos( th_aux )           y   = r_aux * sin( th_aux )           z   = Z_from_Surface( x, y)           dz   = z − z0;           ds3D   = 3D_Arc_Length_Over_Spiral_Path(ds,            dz, Surface)                err3D   = ds3D − ds_Ref                } while( |err3D| &gt; TOL_Vk_dS3D )                th   = th_aux           r   = r_aux           w   = Gamma_from_Surface( x, y )           dw   = w − w0           /*                Send function performs units conversion between           (analytical) User Level and (mechanisms) Low Level           */           Send_Motion_Deltas(dr, dth, dZ, dW)                z0   = z           w0   = w            }   /* End: Main Control Loop   */                  
 
         [0026]     Considering the above mentioned parameters, the high level user code generates incremental positioning motions to be executed by the low level real-time code. The motion increments for each positioning axis are simultaneously executed, by said low level code, within a corresponding time increment. The time increments used are preferably constant.  
         [0027]     The control module employs coordinated motion between the four-axis positioning mechanism of  FIG. 1  to provide a spiraling contour path, as well as properly align the pad  20  with respect to the surface contact point. Preferably, by controlling the movement rate along the contouring path as well as controlling the pad rotation, the material removal rate is controlled. The control module is operative to dynamically adjust the speed of movement of pad  20  along said contour path, as a function of the position of said pad relative to the surface being ground or polished. The control module further regulates the rotating speed of the pad  20  according to the requirements of the process.  
         [0028]     Motion control along the four axes X, Y, Z and W is facilitated by an open loop manner, preferably stepping motors, so as to obtain a reduced cost apparatus. However, the present invention contemplates the use of feedback position sensing devices on any axis to provide a higher accuracy closed loop control. The configuration and operation of such feedback sensing device would be apparent to those of ordinary skill in the art. In the illustrated embodiment, the pad drive mechanism  21  is preferably provided with a closed loop speed control, which maintains constant speed pad rotation without substantial fluctuations.  
         [0029]      FIG. 3  illustrates a detailed view of the pad support  23  and the flexible shaping pad  20 . The shaping pad comprises two layers. A first layer includes a flexible media  50  attached to the pad support  23 , which provides necessary deformation to contour onto any desirable area on the affected surface. A second layer includes a polishing or grinding pad  51  attached to a flexible media  50 , which produces the surface material removal.  
         [0030]     Speed information is preferably provided to the speed control means so as to maintain a constant rotational speed with minimal fluctuations. In one embodiment the system obtains a series of pulses from a Hall Effect sensor. The frequency of these pulses is proportional to the speed of rotation and is used to determined a rotation speed. However, as may be appreciated there are many other methods to obtain a tachometric signal.  
         [0031]     The pad support  23  has a spherical surface  52 , whereon the flexible pad  20  rests, with a base-curvature value. The present invention contemplates a set of various pad supports, each with a different curvature value, ranging from piano to 10 diopters (concave or convex) in constant increments of 2 diopters. Each individual pad support  23 , in combination with a flexible pad  20 , will cover a continuous subrange of curvatures to be shaped. The pad support curvature to be applied will depend on the desired lens properties.  
         [0032]     The present invention further contemplates the use of pad supports with curvature values greater than 10 diopters (both, concave and convex). However, the limit value of 10 diopters, used at present, allows for the processing of practical prescription values.  
         [0033]     Although the present invention was discussed in terms of certain preferred embodiments, the invention is not limited to such embodiments. A person of ordinary skill in the art will appreciate that numerous variations and combinations of the features set forth above can be utilized without departing from the present invention as set forth in the claims. Thus, the scope of the invention should not be limited by the preceding description but should be ascertained by reference to claims that follow.