Patent Description:
Traditionally, faceting objects such diamonds and other gems have been performed manually with a polishing wheel, e.g. a scaif. This manual process is known to be time consuming and expensive. Computer methods are known for assisting in planning the polishing of a rough gem. Often a three-dimensional (3D) model of the rough gem is generated and a target polished gem may be defined within the three-dimensional model. However, after the plan is in place, the subsequent polishing process, by which each facet of the gem is cut and polished, is typically performed manually so that the process may be monitored and adjustments may be made as needed.

The faceting process may introduce artifacts on a surface of the gem such as pits, scratches and polishing lines. In addition, natural artifacts within the gem may surface during the polishing process. Human intervention is typically required to adapt the faceting process to overcome these obstacles. Inaccuracies in the polishing process itself may also require human intervention. High temperatures may arise due to the friction between the gem and the polishing wheel and may affect precision of the polishing. When polishing a diamond, certain polishing directions may be more resistant to polishing as compared to others due to the crystal structure of the diamond. Polishing in an unfavorable polishing direction hinders the ability to polish and may affect the polish finish. Repetitive monitoring and adjusting is required to obtain a high quality final product. For an automated process to replace the traditional manual polishing method, high precision faceting with the ability to adapt the faceting process over the course of the process would be required.

<CIT> entitled "Improved methods for controlling the polishing of gemstones," the contents of which is incorporated herein by reference discloses a method for controlling the polishing of a gemstone. The method includes obtaining a three-dimensional model of the gemstone; fixing the gemstone in a dop, wherein an initial facet to be polished is aligned; obtaining at least one image of the initial facet while the gemstone is in the tang such that a contour of the initial facet can be determined from the at least one image. Based on the obtained at least one image and the obtained three-dimensional model, at least first setting parameters for a first planned facet positioned between the initial facet and a desired final polished facet is determined. The dop for obtaining a polished gemstone having a polished facet approaching the first planned facet is set. At least one image of the polished while the gemstone is in the tang is obtained. Based on the obtained at least one image of the polished facet and the three-dimensional model, determining at least further setting parameters for a further planned facet. Setting the dop for obtaining a polished gemstone having a polished facet approaching the further planned facet.

International Patent Application Publication No. <CIT> entitled "An automatic gemstone polishing robot," the contents of which is incorporated herein by reference describes a fully automatic gemstone polishing robot. The automatic gemstone polishing robot includes a gemstone polishing unit, an image capturing unit and an image processing unit. The imaging processing unit is executed by one or more processors and analyzes images of the gemstone with respect to one or a plurality of gemstone parameters. The image processing unit compares the one or a plurality of analyzed gemstone parameters with one or a plurality of predetermined gemstone parameters to generate the feedback signal to be transmitted to the gemstone polishing unit. The gemstone polishing unit includes a gemstone holding unit for supporting a gemstone in contact with an abrasive surface and polishes the gemstone in a plurality of iterations based on a feedback signal.

Further, <CIT> relates to a method and an apparatus for automation of robotic surface finishing of a three-dimensional surface of a work piece. A three-dimensional motion path is created along the surface of the work piece. A variable contact force profile is specified along the three-dimensional motion path. The three-dimensional motion path is modified based on the specified variable contact force profile. The surface of the work piece is finished using one or more surface finishing tools along the modified three-dimensional motion path.

<CIT> relates to a system for controlling the cut of a gemstone including a gemstone scanner adapted to scan a plurality of facets of an actual gemstone so as to determine facet parameters pertaining to each one of the plurality of facets. The system also includes a control module operatively coupled to the gem scanner and adapted to receive the determined facet parameters of the plurality of facets of the gemstone. The control module generates an actual 3D model of the actual gemstone from determined facet parameters and an idealized 3D model for an idealized gemstone. The control module compares the actual 3D model with the idealized 3D model to determine leakage values for facet parameters of each one of the facets of the gemstone such that the leakage value is used to control the cut of the gemstone.

According to a first aspect of the present invention, a method for faceting of an object is defined in claim <NUM>.

According to a second aspect of the present invention a method for faceting of an object is defined in claim <NUM>.

Further preferred embodiments according to the first and second aspects of the present invention are defined in the dependent claims.

The present invention, in some embodiments thereof, relates to automated apparatuses and methods for polishing multi-faceted objects and, more particularly, but not exclusively, to an automated apparatus and method for polishing diamonds.

The apparatus and method provides an automated method for detecting favorable polishing directions. A favorable polishing direction for a facet may be detected based on sensing one or more polishing related parameter over different orientations of the facet on the polishing wheel. Optionally and preferably, the polishing related parameter provide indication of a rate of material removed and the favorable polishing direction is a direction with a relative high rate and/or a peak rate of material removed.

The apparatus and method provides adjusting operational parameters on-the-fly during polishing with closed loop control.

The closed loop control is configured to maintain a steady, controlled and/or constant rate of material removed on a facet as the depth of polishing and surface area of the facet increases. Optionally, rotation speed of said polishing wheel, contact pressure of object against polishing wheel and/or track position of the object on the rotating wheel is controlled on-the-fly.

In some configurations, the object's chemical structure is a crystal lattice and the apparatus and method is configured to predict the crystallographic axes of the crystal based on a trial-and-error process performed on one or more facets of the object. In some example embodiments, the crystallographic axes are extrapolated based on at least four favorable polishing directions sensed through a trial-and-error process. In some configurations, one of the orthogonal projections of the crystallographic axes on a facet is selected as a favorable polishing direction for that facet.

The apparatus includes both laser cutting and polishing capability and a controller configured to operate the robotic arm to position the object with respect to said laser cutting device for removal of a first portion of the object by laser cutting, and subsequently to operate said robotic arm to position the object with respect to said polishing wheel for removal of a second portion of the object by polishing without disengaging the object from said robotic arm. Optionally, integrating laser cutting into the faceting process may significantly reduce the processing time required for faceting.

The apparatus and method is configured to maintain an authentication trail identifying the object throughout the faceting process based on a series of images captured over the faceting process. The authentication trail preferably comprises sufficient information to identify the raw, pre-polished object, both during the polishing process, and after the polishing process is completed. The authentication trail can be in the form of, for example, a library of descriptors that is associated with the object, once polished, and that describes the polishing process, optionally and preferably by its entirety. The descriptors may be in the form of digital images and/or computer rendered shapes and/or computer rendered coordinates. The library includes a set of descriptors for each facet formed by the apparatus, wherein each set of descriptors is time-ordered and describes the evolution of the shape of the respective facet during its formation by the apparatus.

A press-pot holding the object includes an identity (ID) code and a controller is configured to access instructions on a computer readable medium for polishing the object based on identifying the identity code on the press-pot.

The apparatus and method is configured to compute an ordered list based on which the object is faceted. In some example embodiments, the ordered list is defined to reduce the processing time required for faceting. Optionally, the processing time may be reduced based on reducing joint movement of the robotic arm over the faceting process. Optionally, a plurality of parameters are considered when determining the order for polishing. Non-limiting examples of these parameters include volume of material to be removed, crystallographic orientation relative to the facet to be polished and location of artifacts detected in or on the surface of the object.

The apparatus and method is configured to generate a signature key for a polished object based on a geometry of each of its facets, a 3D position of each of its facets and a morphology of the facets. Unlike the authentication trail that links the raw object to the polished object by recording steps of the polishing process, and therefore authenticates that the polished object originates from the raw object, the signature key describes only the shape and morphology of the polished object. In some embodiments of the present invention the signature key also includes a grade (e.g., a cut grade, polish grade, symmetry grade) of the object. Optionally, a grade of the object is separately generated.

The apparatus includes an inspection station with an imaging system and an image processor. In some configurations, the imaging system comprises a telecentric imaging system and a microscope imaging system, and the image processor comprises a circuit configured to process the captured images from both the telecentric imaging system and a microscope imaging system, generate a 3D model of the object and optionally and preferably also inspect facets of the object over the course of the automated faceting process. In some configurations, the 3D model is generated with the telecentric imaging system based on shadow modeling and optionally refined based on selected images captured with microscope imaging system. Optionally and preferably, the image processor is also configured to classify artifacts detected on a surface of a facet(s). Optionally and preferably, the 3D model is generated while the object is mounted on the robotic arm so that the generated model is defined with the coordinate system of the apparatus. When a 3D model of the object and/or a target model of the object defining the faceting plan is received together with the object, registration is performed between the 3D model generated and the model(s) received. Optionally and preferably, registration is performed at the imaging station at the onset of the automated process.

During the automated faceting process, the robotic arm is configured to move the object to the inspection station between polishing iterations for inspecting a formed facet and optionally and preferably updating the generated 3D model of the object. At the end of the automated faceting process, the robotic arm moves the object to the inspection station again for a final inspection of the object. In some example embodiments, the final inspection includes defining a grade (e.g., a cut grade, a polish grade, a symmetry grade) of the object based on image data captured with the imaging system. In some example embodiments, the final inspection includes generating the signature key based on image data captured with the imaging system. Optionally and preferably, but not necessarily, the signature key uniquely identifies the object.

<FIG> is a simplified schematic drawing of an automated faceting apparatus <NUM>. Automated faceting apparatus <NUM> comprises a robotic arm <NUM> configured to hold an object <NUM> during faceting, and a polishing station <NUM> including polishing wheel <NUM> for polishing object <NUM>. Optionally, apparatus <NUM> comprises an imaging station <NUM> including an imaging system with image processing capability for inspecting object <NUM>. An example imaging system is shown in <FIG>. In some configurations, apparatus <NUM> comprises one or more sensors <NUM> for sensing polishing related parameters. A controller <NUM> is optionally and preferably configured for controlling arm <NUM> to move object <NUM> between polishing station <NUM> and imaging station <NUM>, and optionally and preferably also for controlling operation of apparatus <NUM> based on output from sensors <NUM> acquired while polishing and/or based on image data acquired at imaging station <NUM>. Controller <NUM> may be configured to coordinate operation of robotic arm <NUM> with each of polishing station <NUM> and imaging station <NUM> as well as sensors <NUM>. Controller <NUM> is preferably a computerized controller and may include processing and memory capability and may also communicate with a computing device <NUM> including processing capability, memory and user interface capability. In some configurations, controller <NUM> comprises a dedicated electronic circuit configured for executing one or more of the operations described herein.

Robotic arm <NUM> may provide movement with multiple degrees of freedom, e.g. <NUM>-<NUM> degrees of freedom. In some example embodiments, robotic arm <NUM> is configured for both gross movement capability and fine movement capability in one or more directions. Gross movement capability is useful for moving object <NUM>, for example, between polishing station <NUM> and imaging station <NUM>. Fine movement capability is useful, for example, for orienting object during polishing and inspection with high resolution, e.g., sub-micrometer resolution (for example, resolution of <NUM>-<NUM>) for linear movements and milli-degree resolution (for example, resolution of <NUM>·<NUM>-<NUM>-<NUM>·<NUM>-<NUM> degrees) for rotational movements. Optionally and preferably, robotic arm <NUM> is mounted on a rail <NUM> and is actuated to shift between polishing station <NUM> and imaging station <NUM> along rail <NUM>. Object <NUM> is optionally and preferably mounted on robotic arm <NUM> with a press-pot <NUM>. In some example embodiments, press-pot <NUM> is marked with an identification (ID) code <NUM> to identify object <NUM>. Representative examples of ID code suitable for exemplary embodiments of the present invention are provided below.

Sensors <NUM> may be mounted on robotic arm <NUM>, and/or on press-pot <NUM>, and/or polishing wheel <NUM>. One or more of sensors <NUM> may sense remotely, instead of being mounted on any of robotic arm <NUM>, press-pot <NUM>, and polishing wheel <NUM>. Sensors <NUM> may include for example one or more vibration sensors, e.g. accelerometer, microphone, temperature sensors, and displacement sensors. Displacement may be sensed with an encoder, e.g. a displacement encoder configured to sense the height of object <NUM> along the Z axis during polishing. Optionally, displacement is also sensed in the X direction and/or Y direction with dedicated encoders. In some example embodiments, sensors <NUM> include one or more sensors configured to sense electrical current supplied to robotic arm <NUM> and/or polishing wheel <NUM>. The electrical current is indicative of friction generated between object <NUM> and polishing wheel <NUM> during polishing and also of the pressure applied against polishing wheel <NUM> with object <NUM> during polishing. In some embodiments of the present invention controller <NUM> is configured to analyze the electrical current and obtain the friction and/or pressure. Optionally, sensors <NUM> include one or more image sensors configured to capture images during polishing.

Robotic arm <NUM> positions and aligns object <NUM> in imaging station <NUM> prior to the polishing process to generate a 3D model of object <NUM>. The 3D model of object <NUM> is detected while object <NUM> is mounted on robotic arm <NUM>. Instructions for faceting object <NUM> may then be defined based on the coordinate system of apparatus <NUM>. Optionally, the instructions may be based on a target model received in association with the object, based on general guidelines related to a desired size and shape for faceting, and/or may be self-generated at imaging station <NUM>. During the polishing process, robotic arm <NUM> is optionally and preferably configured to repeatedly toggle object <NUM> between polishing station <NUM> for polishing and imaging station <NUM> for inspection. Optionally, the 3D model defined may be updated per inspection or per a plurality of inspections. Optionally and preferably, each facet is formed over a plurality of polishing iterations and robotic arm <NUM> is configured to direct object <NUM> to imaging station <NUM> per iteration. According to some example embodiments, robotic arm <NUM> is also configured to direct object <NUM> to imaging station <NUM> at the end of the polishing process for grading object <NUM> and optionally for generating a signature key for object <NUM> based on image data obtained after the last polishing iteration.

<FIG> is a simplified schematic drawing of an example imaging system for the automated polishing apparatus. An imaging system <NUM> may be stationed in inspection station <NUM>. Imaging system <NUM> includes both a microscope imaging system <NUM> for high resolution imaging, and a telecentric imaging system <NUM> for capturing 2D images of object <NUM> at a lower resolution as compared to the microscope imaging system <NUM>. The imagers of microscope imaging system <NUM> and telecentric imaging system <NUM> are shown at <NUM> and <NUM>, respectively. The illumination sources for microscope imaging system <NUM> and telecentric imaging system <NUM> are shown at <NUM> and <NUM>, respectively. In some example embodiments, illumination source <NUM> for telecentric imaging system <NUM> is coaxial Köhler illumination.

The microscope imaging system <NUM> is configured to support a range of magnifications from 1X to 20X, typically with multiple lenses. The microscope imaging system <NUM> is an inverted microscope with objects under observation positioned above, rather than below, a microscope objective lens. The spatial resolution provided by microscope imaging system <NUM> is higher than the spatial resolution provided by telecentric imaging system <NUM>. For example, the field-of-view area corresponding to a single pixel size of telecentric imaging system <NUM> can be <NUM>-<NUM> times larger, e.g. <NUM> times larger, than the field-of-view area corresponding to a single pixel size of microscope imaging system <NUM>. Telecentric imaging system <NUM> is configured for generating a preliminary, e.g., coarse, 3D model of object <NUM> based on shadow modeling. Robotic arm <NUM> is configured to rotate and move object <NUM> with respect to telecentric imaging system <NUM> to capture silhouette images of object <NUM> at different orientations. The silhouettes may then be used to construct the 3D model. In some example embodiments, the coarse 3D model generated with telecentric imaging system <NUM> is then refined based on selected images captured with microscope imaging system <NUM>.

Output from imaging system <NUM> microscope imaging system <NUM> is processed in processor <NUM>. Processor <NUM> may be integrated into computing device <NUM> and/or may be a dedicated electronic circuit configured for image processing. Controller <NUM> manipulates 3D positioning of object <NUM> with respect to telecentric imaging system <NUM> and microscope imaging system <NUM>. Optionally, processor <NUM> is also configured to process output from imaging system <NUM> to detect geometry and morphology of facet <NUM>. Optionally, processor <NUM> is configured detect and segment artifacts on facet <NUM>.

<FIG> is a simplified flow chart of an example method to generate a 3D model of an object for faceting. Typically, an object is received together with instructions for faceting (block <NUM>). Instructions may include a 3D model of the object in its current configuration, e.g. rough object prior to faceting and a 3D model of target object. When a 3D model is available, the generated 3D model may be registered with the given 3D model so that the faceting instructions as indicated in the given 3D model may be related to the generated 3D model. Alternatively, the instructions may include proportions of target polish as an input, a required cut and/or symmetry grade and the target object may be generated by apparatus <NUM>, e.g. at imaging station <NUM>. For example, based on inspection at imaging station <NUM>, a target object that provides highest yield of weight within the given proportions may be defined by apparatus <NUM>. In order to translate the instructions received to instructions that may be performed with apparatus <NUM>, a 3D model of the object is generated with apparatus <NUM>. According to some example embodiments, prior to generating a 3D model with apparatus <NUM>, the object is mounted on robotic arm (block <NUM>). Since the object is mounted on the robotic arm, the 3D modeling is performed on the portion of the object that is exposed. For example, the object may first be mounted into pavilion press-pot where the designated crown is inside the press-pot and the designated pavilion is exposed.

A preliminary 3D model of object <NUM> as positioned on press-pot and robotic arm is generated (block <NUM>). Optionally, the preliminary 3D model is a coarse model. Shadow modeling is used to generate the preliminary 3D model. For shadow modeling collimated backlight illumination, e.g. Köhler illumination may be used to capture a number of images from known rotation angles and a 3D model may be built based on back projections. Optionally, an imaging system other than the microscope imaging system, e.g., imaging system <NUM>, may be used for building the preliminary 3D model. Flat surfaces on the object are identified based on the preliminary model (block <NUM>) and used for refining the 3D model (block <NUM>).

The preliminary 3D model is refined by capturing images of flat surfaces on the object with a microscope of the imaging system. Geometry of the flat surfaces may be determined and used to refine the preliminary 3D model to obtain a more accurate 3D model. The 3D model is also further refined over the polishing process as required. According to some example embodiments, if a target model is available, registration is performed between the 3D model as refined and the target model received (block <NUM>). The generated 3D model is updated during the automated faceting process based on the object being directed to the inspection station between polishing iterations (block <NUM>).

After polishing the portion of the object that is exposed based on the 3D model generated, the object may be mounted on the robotic arm in an alternate orientation to facet a portion of the object that was not exposed through the press-pot. With this arrangement, blocks <NUM>-<NUM> may be repeated to generate a 3D model of the portion of the object that was not initially exposed by the press-pot. For example when faceting the object with a crown and pavilion, the object may first be mounted with the designated pavilion part being exposed and after modeling and polishing, the object may then be mounted on the press-pot with the designated crown part exposed and the polished pavilion partially inside the press-pot. According to some example embodiments, once one side (e.g. the pavilion) has been faceted and the other side (e.g. the crown) has been mounted, the 3D model of the first side may be registered with the 3D model obtained for the second portion. Optionally and preferably, the partially exposed faceted portion of the object, e.g. partially exposed pavilion are used as flat surfaces for registering the pavilion with the crown portion based on which a complete 3D model of the polished object may be obtained.

<FIG> are simplified drawings depicting three example sets of instructions for forming a same plurality of facets on an object. The present inventors have found that the polishing process is further optimized based on selecting an order for faceting the facets. Optionally, the order is selected to reduce the time it takes to facet the object, improve the accuracy of the faceting and/or the quality achieved. For example, <FIG> depict three different ordered lists for polishing facets <NUM>, <NUM> and <NUM>. The faceting polishing order shown in <FIG> is <NUM>, <NUM>, <NUM>. Based on <FIG>, portion A removed to form facet <NUM> is significantly larger than portions B and C required to be removed for subsequently forming facets <NUM> and <NUM>. The faceting polishing order shown in <FIG> is <NUM>, <NUM>, <NUM>. Based on this order, a size of section B is increased at the expense of a size of section A when comparing to <FIG>. The faceting polishing order shown in <FIG> is <NUM>, <NUM>, <NUM>. Based on this selected order, a size of section C is increased at the expense of section B. In this configuration, section A, B and C are similar in size. According to some example embodiments, one or more parameters may be considered when defining an order for faceting. Example parameters without limitation include polishing angle, the amount of material to remove, size of the facet, location of the facets, artifacts on the object, e.g. internal and external. For example, polishing may be easier and faster in some polishing angles and harder and slower in others due to the crystallographic orientation of the object. In some example embodiments, the order for faceting is defined to reduce the time it takes to facet the object. Alternatively and additionally, the order for faceting may be defined to increase the accuracy of the faceting and/or the quality of the final product.

<FIG> is a simplified flow chart of an example method to generate an ordered list for forming facets on an object whose chemical structure is a crystal lattice. Volume of material to be removed during faceting is determined based on the 3D model of the object and a target model (block <NUM>). Prior to generating an ordered list preliminary processing is performed on the object to predict and/or determine its crystallographic axes. In some configurations, projections of crystallographic axes on facets are determined based on the preliminary processing (block <NUM>). In some configurations, a fabrication score per facet is defined to achieve a desired outcome, e.g. fast processing (block <NUM>). The score may be based on information known, e.g. volume of material to be removed around each of the facets, orientation of the facet in relation to the crystallographic axes, and detected artifacts in the object. An ordered list for forming facets is generated based on the scores provided (block <NUM>). Faceting may be performed by apparatus <NUM> based on generated list (block <NUM>). Optionally and preferably the faceting process is monitored (block <NUM>), e.g. on-the-fly monitoring and based on imaging between faceting iterations and the ordered list may be updated based on accumulated data from the monitoring (block <NUM>).

<FIG> is a simplified flow chart of an example method to select an orientation of a facet on a polishing wheel during polishing. A surface of the object is positioned against polishing wheel over a polishing iteration (block <NUM>) with a robotic arm and the robotic arm is configured to rotate the object about axis perpendicular to the polishing wheel while the facet is in contact with the polishing wheel (block <NUM>). In some configurations, one or more polishing related parameters are sensed as the object is being rotated (block <NUM>). According to some example embodiments, an orientation for polishing may be selected based on outputs from the one or more polishing related parameters (block <NUM>) and the facet may be polished in the selected orientation (block <NUM>). A training or learning process may be applied during which sensed signals during successful polishing and as well as unsuccessful polishing are recorded and used as reference. Example polishing related parameters may include acceleration, vibration sensed based on contactless measurements, sound, heat, height displacement, current supplied to a motor of the polishing wheel or actuator of the robotic arm and imaging.

In some configurations, an accelerometer is mounted on the press-pot to detect vibrations on the object. Optionally, when the object is oriented in direction that is resistant to polishing, the object may bounce off the polishing wheel at a first range of frequencies and when the object is oriented in a direction that is conducive to polishing, frequency of vibrations may span over a second range of frequencies. Optionally, vibration amplitude may lower when the object is oriented in direction that is conducive to polishing. In another example, a rise in temperature of a polishing surface may indicate an orientation that is favorable for polishing. The inventors have found that significantly more heat is released from successfully breaking chemical bonds during polishing as compared to heat due to friction without succeeding in breaking the chemical bonds. Optionally, a rise in temperature may be sensed with an infrared (IR) camera, using IR absorption of laser (black body).

<FIG> are example graphs showing output from sensors sensing a polishing related parameter while an object is rotated about an axis perpendicular to a polishing wheel during polishing. A vibration sensor may sense a frequency of vibration due to contact between the object and the polishing wheel over different polishing orientations as shown in <FIG>. Optionally, the frequency may be used to select a desired polishing orientation. In some example embodiments, the desired polishing orientation is an orientation that provides polishing with an improved material removal rate. In some configurations, sound over different polishing orientations as depicted for example in <FIG> may be used to detect orientations with relatively less resistance to polishing and/or faster polishing rate. For example, a frequency and/or amplitude may change when the object is at an orientation that is conducive to polishing. For example, when successfully polishing, some sound frequency components may increase their amplitude due to the removal of material.

<FIG> are simplified drawings showing example crystallographic axes in relation to a facet of an object. When polishing a material whose chemical structure is a crystal lattice, e.g. a diamond by pressing a facet against a polishing wheel, the facet's orientation with respect to the wheel's direction of rotation affects the ability to polish the facet. Due to the crystal structure, the facet may be more easily polished in directions that correspond to orthogonal projections of the crystallographic axes on the facet and less easily polished in other orientations. <FIG> depicts an example object <NUM> that has a crystallic structure and its crystallographic axes represented by vectors a, b, and c. The easy or effective polishing directions for each facet is the direction that corresponds to orthogonal projections of a, b, and/or c. As an example, projections on a facet <NUM> are a1, b1 and c1 are shown in <FIG>. Traditionally, a manual trial and error technique is used to detect easy polishing directions for each facet by first attempting different orientations until a suitable orientation is found and then polishing in that orientation. This trial and error technique can be time consuming. Instead, the present inventors have found that based on detecting a plurality of candidate projections on one or more facets, the crystallographic axes for the object may be predicted. Once the crystallographic axes are predicted, polishing directions may be selected for other facets of the object without trial and error. The present inventors have also found that the crystallographic axes may be predicted based on detecting at least four candidate projections of the crystallographic axes. Optionally, the four candidate projections may be detected on a single facet or on <NUM>-<NUM> facets. Optionally, the prediction may be corrected or refined over the course of polishing additional facets.

<FIG> is a simplified flow chart of an example method to predict crystallographic axes of the object. An initial trial-and-error process is employed for attempting to polish multiple directions on a facet, and an easy direction may be determined as the direction that is polished at the greatest removal rate during a given interval of time. The trial-and-error process begins by placing one surface of object against a polishing wheel (block <NUM>) and rotating the object about an axis perpendicular to said polishing wheel (block <NUM>). One or more polishing related parameter(s) are sensed over different object orientations with surface on polishing wheel (block <NUM>). Representative polishing related parameters include, without limitation, acceleration, vibration sensed based on contactless measurements, sound, heat, height displacement, pressure, current supplied to a motor of the polishing wheel or actuator of the robotic arm and imaging. In some example embodiments, the robotic arm is configured to rotate the object with <NUM>° and/or +/-<NUM>° so that all orientations may be sensed. Other ranges are also contemplated, e.g., <NUM>°, <NUM>° or <NUM>°. Optionally, the object is rotated in a continuous motion, e.g. at an angular speed of <NUM>-<NUM> rad/s. In some configurations, the rotation may be performed in discrete steps and one or more polishing parameters may be sensed per discrete steps.

A removal rate is determined based on one or more of the polishing related parameters sensed. The removal rate may be defined based on volume (for example, µm<NUM>/h) or weight (for example, mg/h). In some example embodiments, the removal rate may be determined based on parameters detected on-the-fly, e.g. based on sound frequencies and displacement progress signals to detect polishing directions. Optionally, the volume is determined based on imaging the facet. Optionally, the imaging is performed at the imaging station between trial polishing intervals at defined orientations. For example, the volume removed may be determined by a 3D to 2D match, or registration, between an image of the current facet and the previously determined 3D model, as described above. Inspection may be repeated for a plurality of orientations. The inspection may be used in addition to the on-the-fly detection and removal rate may be determined based on imaging as well as based on the on-the-fly detection. Optionally, the imaging is applied as a subsequent step to refine the detection of candidate polishing directions. According to some example embodiments, one or more candidate polishing orientations may be sensed for each facet tested (block <NUM>). Optionally, a primary as well as one or more secondary candidate polishing orientations may be detected. The present inventors have found that <NUM>-<NUM> candidate polishing orientations may be detected per facet. In some configurations, when at least four candidate polishing orientations are detected, prediction may be initiated (block <NUM>, "YES"), and when less than four candidate polishing orientations are detected (block <NUM>, "NO") one or more additional facets may be tested to detect for candidate polishing orientations until at least four orientations have been found (block <NUM>).

Once at least four orientations have been detected (block <NUM>, "YES"), the detected orientations may be used to predict the crystallographic axes of the object (block <NUM>). Optionally, additional facets may be tested to improve the prediction. The predicted crystallographic axes may be stored and used to select polishing orientations for polishing other facets of the object without performing the trial and error routine for the facet (block <NUM>). Each of the other facets may then be polished in their selected orientations (block <NUM>). In some configurations, orthogonal projections of the predicted crystallographic axes may be computed for each of the other facets and a polishing orientation may be selected to correspond to one of the orthogonal projections. Optionally, polishing orientation selected for a facet may be a polishing orientation corresponding to the largest orthogonal projection of a crystallographic axis on this facet. Other considerations may be applied in selection, e.g. morphology of the facet. The present inventors have found that the prediction method as described herein reduces the time needed to complete the faceting and also avoids potential damage to the object.

In some configurations, the prediction considers the object as formed from a single crystal and therefore as having a common crystallographic set of axes and that easy and/or effective polishing directions are the orthogonal projections of the crystallographic axes on a facet. In some embodiments of the present invention the crystallographic axes are extrapolated from easy and/or effective polishing directions that have been identified during the trial and error process performed on <NUM>-<NUM> facets, based on a 3D model of the object constructed as further detailed hereinabove. Optionally, each of the candidate polishing directions detected on a facet may be defined by a pair of Cartesian coordinates at an arbitrary point on the facet. Each pair of Cartesian coordinates define a vector in a candidate polishing directions. In some configurations, a plurality of possible orientations of the crystallographic axes may be inferred based on the extrapolations performed. In some configurations, the prediction may be improved based on computing an angular deviation between the estimated normal projection determined from an initial extrapolation of the predicted crystallographic axes and the actual polishing direction as determined from the detected removal rate during the trial and error procedure. Optionally, a sum of squared angular deviations related to the different polished facets of the first set are computed and used to refine the prediction. Optionally, if no convergence is detected an additional trial and error procedure may be initiated to obtain more data for improving the prediction.

<FIG> is a simplified flow chart of an example method to adjust a polishing on-the-fly with the automated polishing apparatus. Each facet may be polished over one or a plurality of polishing iterations. After a polishing iteration, the object may be inspected in the imaging station. The 3D model may be updated based on the inspection and polishing instructions may be updated. A polishing iteration may be defined based on a selected parameter sensed during polishing and/or based on estimated material removed. Optionally, duration of each iteration is <NUM> second to <NUM> minute, e.g. a few seconds.

A polishing iteration begins with the object being positioned against polishing wheel (block <NUM>). During polishing, one or more polishing related parameters are sensed, e.g. monitored and used to monitor the estimated material removed on-the-fly. Example polishing related parameters include vibration, temperature, height along the Z axis of the robotic arm, electrical current supplied to the robotic arm to press the object against the polishing wheel, current supplied to the polishing wheel. According to some example embodiments, based on the one or more polishing related parameters and/or estimated material removed the iteration is terminated (block <NUM>, "YES"). Optionally, an average area of the facet is estimated based on the sensing and/or based on the estimated material removed and modeled 3D geometry. Optionally, the iteration continues until a defined amount of material is estimated to have been removed and/or a defined facet size or shape has been reached, both as long as temperature is below a defined threshold and/or as long as a defined iteration duration has not been exceeded. At the end of the polishing iteration, the object is moved to the imaging station with the robotic arm for inspection (block <NUM>).

In some configurations, the one or more polishing related parameters sensed during the iteration are also used to adjust polishing parameters on-the-fly (block <NUM>). Optionally adjustments include one or more of adjusting pressure at which the robotic arm presses the object against the polishing wheel (block <NUM>). Alternatively or additionally, adjustments include adjusting the rate at which the polishing wheel is rotating (block <NUM>). Alternatively or additionally, adjustments include changing the track used for polishing by shifting the object along a diameter of the polishing wheel (block <NUM>). Additional parameters that may be controlled on-the-fly include polishing direction, polishing track diameter, polishing track roughness, and duration of the polishing interval. The adjustments may be based on for example sensed temperature, polishing rate, vibration, static and dynamic friction and warping of the apparatus. The parameters and their thresholds are optionally and preferably selected to improve the smoothness, and/or accuracy of the polishing, and to reduce damage to the object during polishing.

When the stopping criterion of the iteration relates to the amount of material estimated to have been removed, the amount of material removed can be estimated as the change r in the height h of the object per unit time t (r=h/t) for a given surface area of the facet. The relation between r, the pressure P applied by the object to the wheel, and the linear velocity of the wheel is given by r=KPv, where K is a Preston coefficient. The Preston coefficient may be determined empirically for a particular apparatus. The adaptation according to these is selected to maintain a generally constant value for r. This can be done by selecting the force applied by the object on the wheel, based on a predetermined value of r, the rotational velocity of the wheel, and an estimated area A of the facet being polished. According to some example embodiments, A is estimated on-the-fly based on the detected change in height h and a previously computed area of the facet based on imaging. Specifically, the force F applied by the object can be calculated as F=r/(KAv). The area may also computed between polishing iterations for example, by imaging the facet intermittently with the polishing.

It is appreciated that the force applied by the object depends linearly on the electrical current used to control the robotic arm. Thus, the current is varied based on the value of the area A so as to maintain a generally constant value of r. This can be done without selecting the force directly. For example, a look up table can be prepared in advance, which look up table can include entries which relate the current to the force and the area. In these embodiments, the method calculates the ratio r/(Kv), and defines a query force by multiplying this ratio by A/ALT, where A is the measured or estimated area of the facet and ALT is an area entry of the lookup table. The method can then search the look up table for a look up table force value that matches the query force, extract the corresponding electric current from the look up table, and applies the extracted current to control the force of robotic from on the object. When no exact match for the query force is found, the method can use interpolation to extract an interpolated value for the electric current.

A correlation between the one or more polishing parameters and the Force (F) may be determined by a learning phase that may involve generating reference information by measuring large number of facets while they are being polished and recording the frequencies and/or motor current while comparing it to the actual removal rate of material. In some configurations, operation of the robotic arm and/or the polishing wheel may be adjusted to maintain rate of material removal r substantially constant.

<FIG> is a simplified flow chart of an example method to adjust the polishing based on image data captured with the automated polishing apparatus. Each facet may be formed over <NUM>-<NUM> polishing iterations. Between iterations, the object may be inspected, the 3D model of the object may be updated, and adjustments to the faceting process may be defined based on the inspection. In some configurations, an iteration cycle may include polish the facet over a defined iteration (block <NUM>). The iteration may be defined based on a duration, a change in detected height as well as other polishing related parameters as described herein. At the end of an iteration, the facet may be cleaned (block <NUM>). Optionally and preferably, steam is sprayed on the facet to clean it. In some configurations, the object is directed to the imaging station and is imaged (block <NUM>). According to some example embodiments, morphology of the facet is detected and/or characterized based on the imaging. Optionally, artifacts on the facet's surface and/or internal artifacts may be detected based on the imaging. In some configurations, segmentation and classification of surface artifacts are performed. Optionally, bright field and/or dark field illumination may be used for the segmentation and classification. Optionally, a polish grade is detected based on said imaging.

Instructions for polishing the object may be adjusted based on the imaging (block <NUM>). An example adjustment may include increasing the polishing depth beyond the initial plan, when detecting an uneven finished surface. Another example adjustment may include changing polishing direction based on detecting a crack. Yet another example adjustment may be to move on to polishing a different facet and returning to the current facet at later stage, e.g. push the current facet to the end of the polishing order queue.

In some configurations, one or more polishing parameters are adjusted based on the imaging (block <NUM>). An example adjustment may include reducing pressure on the object during polishing based on detecting an artifact. Optionally, the reduced pressure may provide reducing the temperature of the object during polishing. Another example adjustment may include altering a track used for polishing based on detecting scratches. Scratches may indicate that a polishing track has been used up and requires replacement. An alternate track may selected until the track is replaced. According to some example embodiments, the 3D model is adjusted to reflect the new structure of the object (block <NUM>) based on the polishing iteration. Optionally, adjustments may be made to subsequent polishing iterations based on the updated 3D model.

<FIG> is a simplified schematic drawing of a modeled geometry for an example modeled facet and two example discrepancies in facet geometry that may occur during faceting in accordance with some example embodiments. Facet <NUM> represents a facet as modelled in a 3D model of object <NUM>. A geometry of facet <NUM> is represented by contour <NUM>. In some configurations, an actual corresponding facet <NUM>' may have been polished too deep so that contour <NUM>' has a larger surface area than the 3D model contour <NUM>. In some example embodiments, an actual corresponding facet <NUM>" may have been polished with error in angle (tilt) and a corresponding contour <NUM>" may be skewed in relation to 3D model contour <NUM>. These discrepancies are corrected for in the updated 3D model. These discrepancies may also be a cause to modify the subsequent polishing instructions and perhaps even the remaining facets' ordering.

<FIG> is a simplified flow chart of an example method to detect and record parameters of the object at the end of the faceting process. After an object has been faceted and before dismounting the object from the robotic arm, the robotic arm directs the object to the imaging station <NUM> for final inspection and characterization. In some configurations, 2D images of each of the facets of the object is captured with microscope <NUM> in imaging system <NUM> (block <NUM>). In some configurations, grading parameters are determined based on the microscope images captured (block <NUM>). Example grading parameters include, cut grade, symmetry grade and surface polish grade. The grading may be stored on computer readable medium for reference (block <NUM>).

In some configurations, the 2D images are also used to generate a signature key for the object. The signature key may be generated based on characterizing features of the facets in the image data. In some example embodiments, geometry of each of the facets is determined based on the 2D images captured (block <NUM>). 3D position of each of the facets of object is determined (block <NUM>). 3D position may be defined based on the coordinate system of robotic arm <NUM> and/or based on the 3D model generated for the object. In some example embodiments, morphology of one or more facets is characterized based on the imaging (block <NUM>). Optionally, detected artifacts may be segmented and classified and/or characterized. In some configurations, a signature key is generated based on the detected geometry, positioning and morphology of the different facets (block <NUM>). The signature key is stored on computer readable medium for reference (block <NUM>). Blocks <NUM>-<NUM> may be performed once after faceting a pavilion of the object and repeated after faceting the crown of the object. Optionally, the grading may be defined after inspecting both the crown and the pavilion. Optionally, the signature key is generated after inspecting both the crown and the pavilion.

Reference is now made to <FIG> showing a simplified schematic drawing of an example automated faceting apparatus including both a laser cutting station and a polishing station, to <FIG> showing a simplified schematic drawing of a laser cutting station and to <FIG> showing simplified flow chart of an example method to combine laser cutting and polishing for faceting an object.

An automated apparatus <NUM> configured for faceting an object <NUM> includes both a laser cutting station <NUM> and a polishing station <NUM> for processing the object. Laser cutting may significantly reduce the time it takes to facet object <NUM>. In some example embodiments, the process is defined so that a first <NUM> % - <NUM> % of the material is removed based on laser cutting at laser cutting station <NUM> and the remainder of the material is removed based on polishing at polishing station <NUM>. Although polishing is generally a slower process, it is advantageous in that it typically provides more accuracy and a better finish.

The processing starts with mounting object <NUM> on robotic arm <NUM> (block <NUM>) and stationing robotic arm <NUM> at imaging station <NUM> (block <NUM>). At imaging station <NUM>, a 3D model of object is computed based on the coordinate system of apparatus <NUM> and the model is registered with a target model when available (block <NUM>). A set of instructions for faceting object <NUM> may be defined. The instructions may include defining a first portion of the object to be removed with laser cutter <NUM> and a second portion of object <NUM> to be removed with polishing wheel <NUM>. In some configurations, the first portion is defined to remove <NUM>%-<NUM>% of material for forming each facet so that <NUM>%-<NUM>% of the remaining material is removed by polishing. In this manner, polishing may be applied to complete each of the facets at a desired accuracy and polish finish.

In some configurations, over a first plurality of faceting iterations, robotic arm toggles between stationing object <NUM> at laser cutting station <NUM> for cutting with a laser beam <NUM> and stationing object <NUM> at imaging station for inspection (block <NUM>). Optionally, one or more of the laser cutting parameters and/or the 3D model is updated over the laser cutting iterations based on the inspection in imaging station <NUM>. Optionally, the toggling is only initiated once per facet or once per a plurality of facets. In some example embodiments, toggling is not required during laser cutting and inspection is performed at the end of the laser cutting process. In some configurations, laser cutter <NUM> is stationary and robotic arm <NUM> is configured to orient object <NUM> with respect to laser cutter <NUM>. Optionally, the laser cutter may be configured to move in one or more directions and object <NUM> is held stationary in laser cutting station <NUM>.

When the laser cutting is completed, e.g. when the first portion has been removed (block <NUM>), robotic arm <NUM> begins iterating between stationing the object at polishing station <NUM> and imaging station <NUM> (block <NUM>). One or more of the polishing parameters and/or the 3D model may also be updated over the polishing iterations based on the inspection. Once the polishing is complete (block <NUM>) the object may be removed from robotic arm <NUM> (block <NUM>). In some configurations, the object is mounted again on the robotic arm <NUM> with a different part of the object being exposed, e.g. with the designated crown portion being exposed after the pavilion portion has been faceted, and blocks <NUM>-<NUM> are repeated to facet the additional part of the object.

<FIG> is an example press-pot for holding an object. An ID code <NUM> that is configured to identify an object may be positioned on press-pot <NUM> that is holding the object. In some configurations, press-pot <NUM> is formed with a plurality of blind holes <NUM> that are configured to receive plugs <NUM>. Optionally a pattern of plugged and unplugged blind holes <NUM> defines the ID code. In some example embodiments, imaging system <NUM> is configured to identify the ID code based on imaging. Other methods of adding an ID code are contemplated. For example a barcode may be attached to press-pot <NUM>. Optionally, and RF ID tag may be attached to press-pot <NUM> and the ID code may be read with a dedicated reader.

<FIG> is a simplified flow chart of an example method to identify object with press-pot identification code. A press-pot is marked with an ID code for identifying an object (block <NUM>) and the object with the press-pot is mounted on the robotic arm (block <NUM>). In some configurations, the ID code is read in the imaging station (block <NUM>) and the instructions for faceting an object are accessed based on the reading (block <NUM>). Optionally, an operator may receive a plurality of objects for faceting at any one time. Optionally, each of the objects may be mounted on a press-pot and marked with an ID code. The plurality of objects may be processed one at a time and mix-ups between the objects may be avoided with the ID code.

In the apparatus and/or method disclosed herein, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.

For example, hardware for performing selected tasks could be implemented as a chip or a circuit. As software, selected tasks could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In some configurations, one or more tasks according to method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions.

Reference is now made to the following example method that may be used to predict crystallographic axes based on at least <NUM> empirically detected favorable polishing directions on a diamond.

The input for the method is at least four favorable polishing directions empirically detected on <NUM>-<NUM> facets on an object whose chemical structure is a crystal lattice, e.g. a diamond. Output of the method is the orientation of the crystallographic axis vectors, a, b and c (in the same Cartesian coordinate system) and predicted polishing direction for each facet.

The method described below is for the case in which the favorable polishing directions are the orthogonal projections of the a, b or c crystallographic axes on the facets of the crystal, and the object is in the form of a single crystal.

The method assumes that the initial orientation of the crystal is unknown, and uses all input directions relative to the current orientation of the crystal. Given the known 3D model, a geometric relationship between the input facets is known, allowing the extrapolation of the original crystallographic axes whose projections resulted in our input. Herein, Cartesian coordinates are used to describe directions of the vectors a, b and c, e.g. a = ax X + ayY + az, etc..

With the crystallographic axes predicted, the method may calculate favorable polishing directions for each potential face of the polyhedron for which no trial-and-error procedure has been employed (as shown in <FIG>). For example, three favorable polishing directions, (a<NUM>, b<NUM>, c<NUM>), in the face normal to a vector n are defined by: a<NUM> = [n × [a ×n]], b<NUM> = [n ×[b ×n]], c<NUM> = [n ×[c ×n]]. The symbol × stands for the cross product. The calculation of vector product in Cartesian coordinate system is defined by Equation (<NUM>): <MAT>.

The input parameters to the method may be multiple coordinates (for example <NUM>-<NUM>, e.g., <NUM> coordinates) for each facet. These are Cartesian coordinates of three arbitrary points (e.g. the coordinates of three vertices, R<NUM> = {X<NUM>, X<NUM>, X<NUM>}, R<NUM> = {X<NUM>, X<NUM>, X<NUM>}, R<NUM> = {X<NUM>, X<NUM>, X<NUM>}) and the direction of easy polishing (the angle between the easy polishing direction and R<NUM> - R<NUM> direction). Any other format of the input data may be used as needed.

The output parameters to the method are preferably the orientation of the vectors, a, b and c (for example, in the same Cartesian coordinate system) and predicted polishing direction for each facet.

Claim 1:
A method for faceting of an object, comprising:
obtaining a three-dimensional model of the object and a target three-dimensional shape having a plurality of facets;
the method being characterised by:
for each of a plurality of facets of said target shape, calculating based on said model an amount of material to be removed from the object to form said facet; and
generating an ordered list of said plurality of facets in a manner that said calculated amounts are descending within said list; and
wherein said polishing comprises executing a protocol for polishing the plurality of facets of the object according to said ordered list.