METHODS FOR FINISHING SURFACES USING TOOL CENTER POINT SHIFT TECHNIQUES

The described embodiments relate generally to lapping, polishing or sanding operations of three dimensional objects having curved surfaces. More specifically, methods and apparatuses are described for providing a smooth and consistent looking surface along curved or spline shaped features. In some embodiments, a robot arm is used in conjunction with a computer numerical control (CNC) machine. Methods involve varying the location of a tool center point with respect to a finishing tool depending on the location of the finishing tool with respect to the tool control path.

DETAILED DESCRIPTION OF SELECTED EMBODIMENTS

High volume manufactured electronic devices can include computer numerically controlled (CNC) machined parts with various geometrically shaped surfaces. The machined parts can be finished using one or more robotic tools, including using surface finishing processes such as lapping, sanding and polishing one or more surfaces of the part. Representative electronic devices can include portable media players, portable communication devices, and portable computing devices, such as an iPod®, iPhone®, iPad®, and MacBook Air® as well as desktop products including an iMac® and a Mac Pro®, and other electronic devices manufactured by Apple Inc. of Cupertino, Calif. Both the tactile and visual appearance of an electronic device can enhance the desirability of the electronic device to the consumer.

The machining operations described herein involve lapping, sanding or polishing of one or more surfaces of a part, such as an enclosure of an electronic device, to imbue the part a pleasing overall look and feel. The lapping, sanding or polishing procedures can be generally referred to as finishing operations that can provide smooth and consistent finished surface. The finishing processes can be applied to numerous types of materials such as metals (e.g., aluminum, stainless steel, etc.) and injection molded thermoplastics. The surfaces can have various geometrical shapes. The methods disclosed herein can be used to provide refined highly polished surfaces even at curved or spline shaped surfaces of the part. Curved regions can transition smoothly into flat regions including along corner areas without any visual change in surface appearance. In accordance with some embodiments, the finishing operation can be performed on an edge or a corner of a part. The finishing procedures can be accomplished using a CNC machine configured for finishing a surface of a part. In some embodiments, a robotic arm is used as part of the CNC machine. The robotic arm can maneuver a finishing tool with relation to the part being polished or sanded.

FIG. 1Ashows a five axis robotic arm100in accordance with described embodiments. A five axis robotic arm such as the one depicted inFIG. 1Acan be configured to accurately maneuver a finishing tool along a surface of a part. This maneuvering can be referred to as a tool control path. In a finishing or polishing operation, the tool control path moves finishing tool112in an orientation that is substantially normal to the surface of the part. Robot arm100can be maneuvered in at least axes102,104,106,108and110. In this way, finishing tool112can be maneuvered along flat as well as three dimensional surfaces of the part, such as curved or spline shaped surfaces. Finishing tool112can rotate about axis114and contact the surface of the part along the tool control path, thereby sanding or polishing the surface of the part. In wet sanding operations, finishing tool112can be used in conjunction with a fluid that can be dispensed from a dispenser (e.g. tube) positioned on or off of robot arm100. In some cases the fluid can lubricate finishing tool112during a finishing process. In accordance with one embodiment, the fluid includes abrasive particles that abrade the surface of the part during a finishing process.

Generally, a tool center point (TCP) of a robot, such robot arm100, is established as a datum point for orienting the movement of the robot with respect to three-dimensional space. That is, the TCP can be defined as the datum position of the robot wrist established, for example, by the robot manufacturer to which a tool/part can be mounted to during a particular operation. The end of the part can then be set as the new tool center point for the robot and tool/part assembly. For example,FIG. 1Billustrates a close-up side view of a robot arm assembly118which includes a robot arm120and end effector122. End effector122includes a holder128and finishing tool130. The robot manufacturer can establish a first TCP location124located at the end of robot arm120. When end effector122is added to robot arm120, TCP location can be changed to a second location126located at the end of finishing tool130, which comes into contact with a part. The TCP of finishing tool130can be configured to be the datum point controlling the tool control path of finishing tool130as it contacts the surface of the part. The TCP can be specified in Cartesian, cylindrical, spherical, or other suitable coordinates. The TCP can be stored as a value in a computer algorithm controlling the movement of a machine, such robot arm assembly118.

FIGS. 2A-2Fshow partial views of part202being processed by finishing tool112during a finishing operation. Finishing tool112is configured to have the TCP204located at the center of the front surface of finishing tool112. InFIGS. 2A-2F, finishing tool112is rotated about axis114(shown inFIG. 1) as it contacts part202. AtFIG. 2A, finishing tool112contacts and finishes flat vertical surface206of part202. AtFIG. 2B, TCP204of finishing tool112reaches a curved surface210of part202and is rotated to follow curved surface210. AtFIG. 2C, TCP204has continued is movement along curved regions210and has reached the center of curved surface210. AtFIG. 2D, finishing tool112is completing the finishing of curved surface210and is moving towards flat horizontal surface208. AtFIG. 2E, finishing tool112has completed finishing of curved surface210and is finishing flat horizontal surface208. Note that during the finishing process presented inFIGS. 2A-2E, TCP204is fixed. In particular, TCP204is consistently located at the center of front surface of finishing tool112. As shown inFIG. 2F, this fixed TCP configuration can create defects212at portions of the surface of part202, in particular, the regions coming into and out of curved surface210. A close up view of these defects and other defects can be seen atFIG. 3A-3Band described below.

FIG. 3Ashows a close-up side view of a part202finished according to the process shown inFIGS. 2A-2F. As shown, curved surface210, flat vertical surface206and flat horizontal surface208of part202are polished to a smooth finish. However, defects or artifacts312positioned at either side of curved surface210can formed. Defects312can be in the form of breaks or steps where the surface is uneven and can be visible as lines on the surface of part202. Defects may or may not be tactilely detectable. Defects312can be caused by the increase of angular velocity of finishing tool112as finishing tool112moves from flat vertical surface206to curved surface210, then from curved surface210to flat horizontal surface208. Due to the linear motion of the finishing tool112along the flat surfaces206/208to/from corner surface210, the pivoting motion approaching curved surface210can lead to discrete changes in surface texture due to the change in motion. Put another way, the dwell time of finishing tool112abruptly increases as it moves from flat vertical surface206to curved surface210. Similarly, the dwell time of finishing tool112abruptly decreases as it moves from curved surface210to flat horizontal surface208. These abrupt changes can cause the defects or artifacts312at these transition points along the surface of part202.FIG. 3Bshows a close up view of part202showing inconsistent finishing marks314at curved surface210compared to consistent finishing marks316at flat surfaces206and208.

Methods described herein provide a smooth and consistent polished surface along flat or straight surfaces and curved or spline shaped surfaces, as well as transition regions between the flat surfaces and curved surfaces.FIGS. 4A-4Fshow partial views of part402being processed by finishing tool112during a finishing operation in accordance with described embodiments. Finishing tool112is configured to have the TCP404located at the varying locations of finishing tool112. As shown inFIG. 4A, when finishing tool112is polishing flat vertical surface406of part402, TCP404is located at a front top portion of finishing tool112. Note that the location of TCP404is different than the location of TCP104ofFIG. 2A, which is at the center of finishing tool112. AtFIG. 4B, as finishing tool112is moved along the tool control path toward curved surface410and is positioned between flat vertical surface406and curved surface410. Curved surface410can be, for example, an edge or a corner of part402. This transition region between flat vertical surface406and curved surface410is the area prone to defects using the fixed TCP finishing technique shown inFIGS. 2A-2E. Since TCP404has moved with respect to its location on finishing tool412, this allows the speed at which finishing tool412travels along the surface of part402to remain substantially constant. That is, the finishing tool can travel along the tool control path at a substantially constant speed that allows continuous finishing of the surface along the tool control path. Thus, the abrupt change of speed seen in the fixed TCP configuration shown inFIGS. 2A-2Ecan be avoided, thereby reducing the occurrence of defects caused by abrupt speed changes.

AtFIG. 4C, finishing tool112is positioned at the center of curved surface410. As show, TCP404has been further shifted to a front center location of finishing tool112. AtFIG. 4D, finishing tool112is completing the finishing of curved surface410and is moving towards flat horizontal surface408. Finishing tool412is positioned between curved surface410and flat horizontal surface406. This transition region between curved surface410and flat horizontal surface406is the area prone to defects using the fixed TCP finishing technique shown inFIGS. 2A-2E. Since TCP404has moved with respect to its location on finishing tool412, this allows the speed at which finishing tool412travels along the surface of part402to remain substantially constant. Thus, the abrupt change of speed seen in the fixed TCP configuration shown inFIGS. 2A-2Ecan be avoided, thereby reducing the occurrence of defects caused by abrupt speed changes. AtFIG. 4E, finishing tool112has completed processing of finishing surface410and is finishing flat horizontal surface408. AtFIG. 4F, the finishing process is complete, resulting in part402having substantially no defects along the tool control path. That is, part402has substantially no visually detectable defects related to the finishing process on flat vertical406, flat horizontal408and curved410surfaces. In addition, substantially no defects related to the finishing process exist between flat vertical406and curved surface410or between flat horizontal408and curved410surfaces.

According to additional embodiments, the finishing tool can be used to finishing more than the three surfaces406,410and408of part402. For example, methods described can be used to polish a corner of a part. A corner can have three flat surfaces, three curved edges and a curved corner positioned in the center of the three flat surfaces and three edges. The tool control path can be configured to travel along one or more of the surfaces of the corner and the TCP can be configured to shift accordingly. For example, the TCP can be at a first location while the finishing tool polishes a first flat surface, and then moved to a second location while the finishing tool polishes a first curved edge. The TCP can then be moved to a third location while the finishing tool finishes a second flat surface. Then the TCP can move to a forth location while the finishing tool finishes the curved corner. This pattern can continue as the tool control path run along all the surfaces to be finished.

FIG. 5is a flowchart500showing process steps for finishing a surface of a part in accordance with described embodiments. At502, a part is positioned in a CNC tool. The part has at least one curved surface adjacent to at least one flat surface. For example, the curved surface can be a curved corner positioned between two flat surfaces. The tool control path of the CNC tool can be configured to travel along the at least one flat surface and the at least one curved surface. At504, the surface of the part is finished by moving a finishing tool along the tool control path. For example, the tool control path of the finishing process shown inFIGS. 4A-4Emoves from flat vertical surface406to curved surface410to flat horizontal surface408. As describe above with reference toFIG. 1, the finishing tool can rotate about an axis substantially normal to the surfaces of the part. As described above, defects that can be caused by changes in the speed at which the finishing tool travels along the surface of the part can be minimized by varying the location of a TCP with respect to the finishing tool depending on the location of the finishing tool with respect to the tool control path. Note that the rotation speed of the finishing tool can be constant or varied during the finishing process.

FIG. 6is a block diagram of an electronic device suitable for controlling some of the processes in the described embodiment. Electronic device600can illustrate circuitry of a representative computing device. Electronic device600can include a processor602that pertains to a microprocessor or controller for controlling the overall operation of electronic device600. Electronic device600can include instruction data pertaining to manufacturing instructions in a file system604and a cache606. File system604can be a storage disk or a plurality of disks. In some embodiments, file system604can be flash memory, semiconductor (solid state) memory or the like. The file system604can typically provide high capacity storage capability for the electronic device600. However, since the access time to the file system604can be relatively slow (especially if file system1004includes a mechanical disk drive), the electronic device600can also include cache606. The cache606can include, for example, Random-Access Memory (RAM) provided by semiconductor memory. The relative access time to the cache606can substantially shorter than for the file system604. However, cache606may not have the large storage capacity of file system604. Further, file system604, when active, can consume more power than cache606. Power consumption often can be a concern when the electronic device600is a portable device that is powered by battery624. The electronic device600can also include a RAM1020and a Read-Only Memory (ROM)622. The ROM622can store programs, utilities or processes to be executed in a non-volatile manner. The RAM620can provide volatile data storage, such as for cache606.

Electronic device600can also include user input device608that allows a user of the electronic device600to interact with the electronic device600. For example, user input device608can take a variety of forms, such as a button, keypad, dial, touch screen, audio input interface, visual/image capture input interface, input in the form of sensor data, etc. Still further, electronic device600can include a display610(screen display) that can be controlled by processor602to display information to the user. Data bus616can facilitate data transfer between at least file system604, cache606, processor602, and controller613. Controller613can be used to interface with and control different manufacturing equipment through equipment control bus614. For example, control bus614can be used to control a computer numerical control (CNC) tool, a press, an injection molding machine or other such equipment. For example, processor602, upon a certain manufacturing event occurring, can supply instructions to control manufacturing equipment through controller613and control bus614. Such instructions can be stored in file system604, RAM620, ROM622or cache606.

Electronic device600can also include a network/bus interface611that couples to data link612. Data link612can allow electronic device600to couple to a host computer or to accessory devices. The data link612can be provided over a wired connection or a wireless connection. In the case of a wireless connection, network/bus interface611can include a wireless transceiver. Sensor626can take the form of circuitry for detecting any number of stimuli. For example, sensor626can include any number of sensors for monitoring a manufacturing operation such as for example a Hall Effect sensor responsive to external magnetic field, an audio sensor, a light sensor such as a photometer, computer vision sensor to detect clarity, a temperature sensor to monitor a molding process and so on.

The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a non-transitory computer readable medium for controlling manufacturing operations or as computer readable code on a non-transitory computer readable medium for controlling a manufacturing line. The non-transitory computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the non-transitory computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The non-transitory computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.