US 20070264907 A1
A control system for controlling processing of workpieces such as jewelry has gantry and gimbal units having x, y, z translational and x, y, z rotational degrees of freedom, the units carrying a gripper for holding a piece of jewelry. Drive motors are associated with each translational and rotational degree of freedom and an actuator operates the gripper. A controller is linked to the gantry and gimbal unit motors, the gripper unit actuator, and actuators associated with a series of work stations for carrying out processing operations such as lapping and grinding. The controller controls movement of the gripper unit from a start position to pick up a workpiece and move it along a programmed path between the processing stations, and controls operation of actuators at each processing station to process workpieces according to stored program instructions. A user input device provides optional operator control of the movement and processing for system training purposes.
17. A processing control system for controlling processing of a series of workpieces, comprising:
a gantry unit having a frame and a horizontal work plate mounted on the frame, and a gantry system having x, y and z translational directions of freedom, each direction of freedom having an associated sliding carriage and drive motor;
a gimbal unit mounted on the gantry system above the work plate and having x, y and z rotational degrees of freedom and associated x, y and z gimbal motors for controlling rotation about the x, y and z rotational axes of the gimbal unit;
a gripper unit secured to the gimbal unit for holding a workpiece to be processed and an actuator for actuating the gripper unit to grip and release a workpiece;
a plurality of processing stations mounted on the work plate, each processing station having at least one associated actuator for controlling operation of one or more tools at the processing station;
a controller linked to the gantry and gimbal unit motors, the gripper unit actuator, and the processing station actuators for controlling movement of the gripper unit from a start position to pick up a workpiece and move it along a programmed path between the processing stations, and for controlling operation of actuators at each processing station to process workpieces according to stored program instructions;
at least one user input device linked to said controller for selective manual control of said gantry and gimbal unit motors, gripper unit actuator, and processing station actuators; and
an output monitor for displaying machine and operating parameters to a user.
18. The system as claimed in
19. The system as claimed in
20. The system as claimed in
21. The system as claimed in
22. The system as claimed in
23. The system as claimed in
24. The system as claimed in
25. The system as claimed in
26. The system as claimed in
27. The system as claimed in
28. The system as claimed in
29. The system as claimed in
30. The system as claimed in
31. The system as claimed in
32. The system as claimed in
33. The system as claimed in
34. The system as claimed in
The present invention relates generally to control systems and methods for automated processing of parts such as jewelry and the like through a series of work stations, and is particularly concerned with a control system and method for an automated processing apparatus carrying out a material removal process.
Since the jewelry industry evolved into a manufacturing industry rather than a simple hand crafting industry, there has been a need for an automatic method and apparatus for grinding, polishing and repair of jewelry, as well as for initial creation of jewelry without casting. Some of these tasks are still typically carried out by hand, and jewelry making is still a very labor intensive process. For a typical jewelry manufacturer, the initial creation of a jewelry piece is carried out by casting. This involves creating a master model out of steel, creation of wax copies of the master, and then using an investment casting process to create a final jewelry piece out of precious metal alloy. This process creates sprues and requires coarse grinding as well as fine grinding and polishing in order to finish the piece. In this process, over 60% of the labor time is dedicated to finishing the piece of jewelry. These tasks are typically carried out by hand, with each individual piece of jewelry handled separately. The task of grinding and/or polishing of jewelry typically consists of holding a piece of jewelry against a turning grinding wheel. Such a process is monotonous, and also can present a health hazard due to the dust created during the procedure.
The existing jewelry manufacturing processes are time-consuming and labor intensive. In some areas, the quality of the jewelry piece is strongly dependent on the operator. There is therefore a need for automation of at least part of the jewelry manufacturing process in order to produce a more economical, consistent and predictable product with potential savings in precious metal.
Robotic commercial systems have been used in the past to perform some jewelry finishing processes, but typically only in finishing of rings. Such robotic systems, for example the Ring Grinding and Polishing System of Superior Robotics, Inc. of Ontario, Canada, can perform the steps of sprue removal from a ring, grinding the shank on the outside of the ring, pre-polishing the outside of the ring, grinding the inside of the ring, and pre-polishing the inside of the ring. However, this system cannot handle any other types of jewelry and can perform only these limited operations. The robotic control system has distributed software, with part working on the robot's controller and the other part on a separate computer or PC. This means that the software is not readily adaptable to different hardware components. There is therefore a need for an improved automated apparatus for jewelry processing, and for a control system and method for controlling operation of such an apparatus.
It is an object of the present invention to provide a new and improved control system and method for a processing apparatus for processing of parts to perform operations such as material removal, polishing, welding, or the like.
According to one aspect of the present invention, a control system for controlling operation of a processing machine is provided, which comprises a computer programmed with a plurality of program modules for controlling different operations of the machine, a data base for storing piece parameters and styles, program instructions, and machine parameters, an output monitor connected to the computer for displaying data and application windows associated with each machine procedure, and a joystick input device for use by an operator in training the system, the program modules comprising a monitoring module for displaying data on the output monitor, a manual module for manual control of motor movements, set up of parameters, and training of the system, and an auto module for controlling an automatic production process based on instructions stored in the training procedure.
The program modules may further comprise a data base module for updating and organizing data, and a setup module for set up of basic parameters for the system hardware and software. In an exemplary embodiment, the software controls the display on the output monitor to provide a continuous update of various system parameters. The software may be linked to a remote controller for external monitoring of the system operation, allowing a remote site diagnostic to be made.
The software in an exemplary embodiment of the invention includes software drivers for various motors or actuators used in moving workpieces between different work stations and in operating tools at the work stations. A graphical interface may be used for user input to the system, allowing the user to structure a motion of a workpiece as well as to assign specific system commands.
In an exemplary embodiment of the invention, the manual training module comprises means for training operation of a gantry unit having x, y and z translational degrees of freedom and means for training operation of a gimbal unit mounted on the gantry unit and having x, y and z rotational degrees of freedom, the means for training the gantry unit comprising means for associating right and left movements of the joystick with operation of a gantry x-axis motor to move a gantry x-axis carriage in corresponding directions, means for associating up and down movements of the joystick with operation of a gantry y-axis motor to move a gantry y axis carriage in opposite directions, and means for associating actuation of respective buttons on the joystick with operation of a gantry z-axis motor to move a gantry z-axis carriage in opposite directions, and the means for training the gimbal unit comprising means for associating right and left movements of the joystick with operation of a first gimbal motor to rotate in opposite directions, means for associating up and down movements of the joystick with operation of a second gimbal motor to rotate in opposite directions, and means for associating actuation of respective buttons on the joystick with operation of a third gimbal motor to rotate in opposite directions, whereby the system can be trained to move a gripper unit attached to the gimbal unit along a predetermined path with predetermined end points along the path at successive processing stations in the machine.
The joystick based trajectory planner allows the user to readily teach the system desired gantry paths and gimbal paths without requiring any separate control devices hooked to the gantry or gimbal units.
The manual training module may also comprise means for user entry and storing of machine parameters. In the case of a jewelry processing application, these parameters may be gripper force, grind force, polishing force, lapping force, and the speed of the various motors. In an exemplary embodiment of the invention, the manual module further comprises an on-off commands block and a movement command block. The on-off commands block comprises means for user control of operation of a main gripper unit for carrying a piece between a series of processing stations and operation of a flip gripper unit for allowing the grip position of a piece in the main gripper unit to be changed. The movement commands block may comprise means for user entry of commands for moving the gantry and gimbal units to a start position, moving the gripper unit to a pick position above a tray, moving the gantry and gimbal units successively to the work stations where different procedures are carried out, and initiating two different procedures at the two workstations when the work piece is positioned properly at the respective workstations.
This system may be used for control of processing machines for use in various different applications, such as material removal and part shaping, polishing of parts, welding, glue dispensing, laser jet cutting, assembly, palletizing, laser deposition, pick/place, and friction steer welding.
In an exemplary embodiment of the invention, the control system is adapted for use in jewelry processing (grinding and polishing). Where the jewelry to be processed comprises rings, the auto module comprises means for user entry of the style and size of each ring to be processed and the position of each ring on a storage tray. The module includes means for copying a style and size previously entered to additional positions on the storage tray. The auto module further comprises means for user entry of a start command when ring style and size for each tray position has been entered. The ring style and size input includes an empty designation for a tray location carrying no ring.
In an exemplary embodiment of the invention, the system software includes a lapping procedure comprising means for controlling the main gripper unit to hold a ring in a vertical orientation to present a first side face of the ring for lapping, means for controlling the gantry motors to drive the gripper unit and ring to a lapping wheel, means for controlling the drive of the lapping wheel to perform a lapping operation in which sprue is removed from the first side face of the ring, means for detecting when all sprue is removed from the first side face, means for flipping the ring by 180 degrees to be gripped in an opposite vertical orientation to present a second side face of the ring to the lapping wheel, means for moving the gripper unit and ring up to the lapping wheel, and means for controlling the lapping wheel to perform a second lapping operation in which sprue is removed from the second side face of the ring.
The lapping procedure includes means for ensuring that the gripper fingers are level with the outer side face of the vertically oriented ring in the lapping process. The lapping procedure in the exemplary embodiment further comprises means for driving the gantry and gimbal units to move a gripper unit carrying a ring from a start position to a flip station, means for positioning the ring within reach of a flip gripper and actuating the gripper to grip the ring, means for actuating the main gripper unit to release the ring, means for driving the gantry to move the main gripper unit away from the flip gripper, means for controlling the flip gripper unit motor to re-position the ring in a vertical orientation, means for controlling the gantry and gimbal units to move the main gripper unit back to the flip gripper in a horizontal orientation to grip the vertically oriented ring, means for controlling the flip gripper to release the ring, and means for controlling the gantry unit to move the main gripper unit and ring back to the start position.
The software may also include means for keeping track of the average precious metal consumption or removal, and for displaying this information as a production parameter on the output monitor. For a particular style of ring, the same amount of material is removed, on average, for each ring processed. This value is stored in the data base for each ring style, and the computer is programmed to keep track of how many rings of each style have been processed at any point, and the average total amount of material which has been removed as a result of this processing. This allows the user to optimize the material removal process.
The entire software system may be based on an OPC (object linking and embedding for process control) client/server structure, which allows various existing and independent protocols and/or software units to be seamlessly interfaced, added or subtracted. This allows hardware changes, driver changes, and software module changes to be made easily without affecting other components of the system. Existing OPC client/server structures allow any standard software product such as Microsoft Word, Excel, Access, or the like to be added as a client. Thus, the user can monitor or modify any system parameter in real time through tools that are normally used for other applications.
According to another aspect of the present invention, a method of controlling a processing machine to process a plurality of workpieces is provided, in which the processing machine has a gantry unit for x, y and z translational positioning of a workpiece, a gimbal unit mounted on the gantry unit for x, y and z rotational positioning of the workpiece, a main gripper unit for holding the workpiece, and a plurality of spaced work stations for manipulating or processing the workpiece, the method comprising the following steps:
setting up at least one desired trajectory of a workpiece from a storage tray through a selected series of end positions at work stations and then back to an end position, the trajectory being associated with a selected workpiece style;
setting up a series of parameters for processing the workpiece;
setting up a series of workpiece locations on a storage tray;
controlling the gantry and gimbal motors to move the main gripper unit to a first position over a workpiece on the storage tray;
controlling the gantry motors and gripper unit to move to the workpiece, grip the workpiece, and move the workpiece from the tray;
controlling the gantry and gimbal motors to move the workpiece along the desired trajectory and stop at each end position; at each end position, controlling the tool at the workstation and the gantry and gimbal motors to carry out a processing operation at the workstation before continuing to move the workpiece along the desired trajectory to the next workstation;
after the workpiece has been processed at the last work station in the series, moving the workpiece back to the end position;
controlling the gripper unit to release the workpiece;
controlling the gantry, gimbal and gripper units to move to the next workpiece position on the tray and to pick up the next workpiece to be processed; and
repeating the procedure until all workpieces on a tray have been processed.
The end position may be the same as the original position of the workpiece on the storage tray.
In an exemplary embodiment of the invention, the machine is for processing jewelry such as rings or other jewelry pieces, and the workstations may be grinding wheels and/or polishing wheels. The workstations may include a lapping wheel and the method may include a lapping operation in which the workpiece is held in a desired orientation for lapping. In an exemplary embodiment of the invention, at least one workstation is a grinding station having grinding wheels and a lapping wheel, and the wheel is mounted on a movable tool bed, with a force controller for controlling force applied to the wheel. The method in this case further comprises means for moving the workpiece to a position at which a selected surface would first contact the processing wheel if there were no sprues projecting outwardly from the surface, whereby any projecting sprue will displace the wheel from its zero position, detecting displacement of the wheel by a change in a sensor condition, and operating the processing wheel to perform a lapping or grinding operation until the wheel moves back to the zero position.
In an exemplary embodiment of the invention, the method may further comprise a training process in which an operator controls the gantry, gimbal and gripper units using a manual input device such as a mouse or joystick so as to move a first workpiece of a particular style along a predetermined trajectory through the machine, and provides input of each end point along the trajectory, the method including storing training data associated with each style of workpiece trained on the system, the training data comprising the trajectory and end points, processing parameters associated with each end point, and associating style information for the workpiece with the stored training data.
The control system and method of this invention is user friendly and allows an entire grinding and/or polishing procedure for a piece of jewelry or other workpiece to be customized and then repeated reliably for all pieces of jewelry of the same size and style. The system can run automatically for extended periods of time while operators can monitor operating parameters as needed, and may be programmed to interrupt processing if an error is detected. The system allows an entire part processing operation to be performed automatically, and allows for training for different style and piece sizes to expand the system capabilities. Stored processing data is portable from one machine to another so that a training process can be performed on one machine and the process can actually be carried out on a different machine. The entire control system runs on a single computer, such as an industrial PC, and is not based on a specific hardware. The system can incorporate different components from different manufacturers with ease.
The present invention will be better understood from the following detailed description of an exemplary embodiment of the invention, taken in conjunction with the accompanying drawings, in which like reference numerals refer to like parts, and in which:
FIGS. 2 to 22 of the drawings illustrate a software control system and method according to an exemplary embodiment of the invention for controlling operation of a jewelry processing apparatus, such as the apparatus illustrated in
The apparatus as illustrated in
A precious metal dust collection system is provided for collecting metal dust produced during processing. This comprises air blowers 135 and air collecting duct 134, 134 a for blowing air across the work stations and collecting air and metal dust, and a filter unit 137 for removing collected metal dust from the air. Filter unit 137 is mounted on a base plate 125 of the gantry apparatus.
The frame 127 has a pair of horizontal side rails 160 defining a y axis or direction on opposite sides of the work plate. A pair of vertical rails 161 are slidably mounted at their lower ends on the side rails 160 via sliders 160 a, and define a z-axis or direction. A horizontal rail 159 is slidably mounted on the vertical rails 161 at its opposite ends via sliders 161 a, and defines an x-axis or direction. A slider 159 a is slidably mounted on the horizontal, x-axis rail 159 for movement in the x-direction. Linear movement of each slider along the respective x, y and z-direction rails is controlled by a respective linear motor 118, 119 and 120 (see
Movement of slider 159 a along rail 159 provides adjustment in the x direction. Movement of the rail 159 up and down on the vertical rails 161 adjusts the location of slider 159 a in the z-direction, while movement of the rails 161 along the side rails 160 adjusts the location of slider 160 a in the y-direction.
The gimbal or three degree of freedom (3 DOF) rotary unit is mounted on slider or x-axis carriage 159 a via bolts or the like extending through mounting holes on carrier plate 131. The gripper unit 123 is mounted on an interface or mounting plate of the gimbal unit 174 via a rotary union 122. The gripper unit 123 is designed to hold a piece of jewelry or any work piece to be processed. The gimbal unit has three drive motors, specifically an x or pitch motor 209, a y or yaw motor 210, and a z or roll motor 211 (see
The basic operation of the system when the apparatus is set up for a grinding operation will first be described. This description assumes that the workpieces are rings, but it will be understood that the process will be similar for workpieces in the form of other types of jewelry or other articles having surfaces requiring grinding or material removal. The computer will have an input for an operator to initially enter parameters of the jewelry or other items to be processed, such as size and style. The operator may also enter ring or workpiece processing parameters, such as grinding force and motor speed, and travel paths for the workpiece. This may be done by first manually operating the system to process one workpiece, and training the system to process all remaining workpieces according to the same parameters. Alternatively each tray of workpieces may be associated with a bar code which identifies software instructions for operating the system in order to process the workpieces on the tray to desired specifications. In this case, the operator will simply scan the barcode before inserting the tray into the housing.
The gantry motors are then controlled to move the gimbal unit until the gripper unit is located above a first ring on tray 176. The gripper unit is then lowered until the three fingers of the gripper unit are located inside the ring, and the gripper is actuated to move the fingers outwardly to grip the inner surface of the ring. The gantry motors are then operated to lift the ring from its holder 205, and transport it to the first work station or sprue removal wheel 133. The gimbal unit motors will be operated to manipulate the ring in space during the grinding process as required, so that different portions are held against the grinding wheel 133, while the grinding wheel motor and the tool bed slide controller are activated so as to rotate the wheel at a selected speed and to apply a desired grinding force against the workpiece.
Once sprue removal is complete, the gimbal unit and gantry unit are controlled to move the ring to the next grinding wheel 133 a and to orient the ring properly for contact with the wheel. The first grinding wheel is turned off and the second grinding wheel is activated at the desired grinding force and speed. The second grinding wheel 133 a will be a contour grinding wheel for controlling the contour of the outer surface of the wheel. Again, the gimbal unit motors will be controlled in order to present different regions of the ring outer surface to the grinding wheel and grind the ring to the selected contour. Different grinding wheels may be mounted co-axially with grinding wheels 133, 133 a on the same motor axles, as will be described in more detail below.
When all grinding operations for the outer surface of the ring are complete, the gantry and gimbal unit motors will be controlled in order to move the ring to the flip station. The flip station will be actuated in order to grip the ring on the outside, and the gripper unit will be actuated in order to release the ring. The gripper unit is then moved away from the flip station, and back in to grip the ring on the outside. The flip, station grip fingers are then released, and the gantry motors are controlled to move the ring back to the first or sprue removal wheel, so that the inside surface of the ring can be machined on the smaller grind wheel. The grinding steps are then repeated in order to grind the inner surface of the ring to the desired contour.
The grinding apparatus can also be used for a lapping operation in which the sprue is ground off from the opposite side edges of the ring. With the ring gripped appropriately by the gripper fingers, and the gimbal unit controlled to hold the ring vertically, a first side edge of the ring will be held against grinding wheel 133 to remove sprue from that side edge. The ring is then moved to the flip station and reversed so that the opposite side edge can be held against the grinding wheel for sprue removal or lapping.
Once the inner and outer surfaces and side edges of the ring have been appropriately finished, the ring will be returned to the storage tray 176 or to another storage tray for holding partially processed workpieces.
The grinding procedure will be carried out for all rings on the first tray 176. If a larger capacity is desired, the apparatus dimensions may be increased to include additional holding trays for unprocessed workpieces. This can permit a so-called “lights-out” or overnight operating mode.
When all the unprocessed workpieces have undergone the programmed grinding operation, the apparatus may be re-configured for the polishing operation. This is done by removing the grinding wheels and replacing them with polishing wheels having rouge applicators. The gantry unit is then controlled to move the gripper unit to the tray and to pick up the first partially processed ring in the same manner as before. As with the grinding wheels, the polishing wheels are driven by motors 175 and 175 a at a variable speed, and the polishing force applied will be controlled by the cylinder actuator for the tool bed slider. The tool bed has an integral position sensor for detecting when the workpiece comes into contact with the polishing wheel. In performing a polishing operation, the controller also moves the rouge applicator into contact with the polishing wheel and controls the amount of rouge applied.
Once the first stage polishing is complete, the gantry and gimbal units are controlled to move the workpiece to the second polishing wheel, and the second polishing wheel and associated rouge applicator are actuated to carry out the programmed polishing operation. After polishing of a first surface of the workpiece is complete (for example the outer surface of a ring), the workpiece is moved to the re-gripping or flip station, and the grip is changed so that a different surface can be polished, such as the inside of the ring. After polishing of the basic surfaces is complete, the gantry system may take the workpiece or ring to an optional crown polishing station. After all polishing is complete, the gantry system may be controlled to transport the workpiece to a separate cleaning and drying station. When polishing and cleaning is complete, the gantry and gripper units are controlled to transport the ring to a soft tray on which it can be dropped. The next workpiece can then be picked up for polishing.
The pneumatic control system of
Each rouge applicator cylinder is associated with two end position sensors (201 a, 201 b, 202 a, 202 b, . . . etc.) which indicate when the cylinder is in its fully retracted position and in its fully extended position. These sensors can be seen in the electronic control diagram of
A pneumatic or pressurized air supply cylinder 182 is controlled by an input pressure regulator 180 and control pressure regulator 181. This arrangement is used to stabilize any air pressure oscillations and provide a unit work pressure of 0.6 MPa. Air supply to the actuator 170 is via a flip gripper input transducer 183 and solenoid valve 191. A force controller pressure tank 290 is connected to the force controller or slide cylinder 127 and the main air supply is also connected to cylinder 127 via pressure transducer 184. Transducer 184 is used to achieve the right force on the grinding wheel during grinding (or the polishing wheel during polishing). During grinding, the ring or other workpiece is pushed against the grinding wheel, and the force applied by the force controller or slide cylinder 127 will push back against the ring. The force selected depends on the grinding parameters of the jewelry and may be adjusted by the operator or under control of the software. As grinding takes place, the grinding wheel will follow the contour of the workpiece, also moving the sliding tool bed and actuator 127. At certain points during this movement, the actuator will need a fast replenishment of air, and also tends to cause pressure oscillations. The auxiliary pressure tank 290 takes care of both of these supply needs and eliminates any pressure disturbances in the system.
The gripper actuator 123 is connected to the air supply tank via transducer 185 and solenoid valve 192. Solenoid valve 193 controls air supply to the pneumatic rotary cylinder 169 of the flip station, while solenoid valve 194 controls air supply to the cooling nozzle 179. Each of the four rouge applicator cylinders 201, 202, 203 and 204 is connected to the pressurized air supply via a pressure regulator 187, 188, 189, and 190, respectively, and a solenoid valve 195, 196, 197 and 198, respectively. Rouge applicator cylinders 205, 206 are connected to the pressurized fluid supply via solenoid valves 199, 200, respectively finally, the positioning cylinder or force controller 207 for the crown polishing tool is connected to a crown polishing pressure tank 292, which operates in the same manner as the auxiliary pressure tank 290 of the sliding tool bed force controller or actuator 127, and is also connected to the pressurized fluid supply from tank 182 via pressure transducer 186 in order to vary the application force of the crown polishing tool.
The automatic operation is controlled by an industrial controller which is programmed by the operator to carry out specific functions. Although an industrial controller is used in the exemplary embodiment, a PC or PLC may be used in alternative embodiments. The advantage of an industrial controller is that it is a dedicated machine that includes all the I/O elements necessary for a particular application. A motor input/output card 112 connects x and y gantry motors 118,119 and motor drives 118 a, 119 a, respectively (which may be Aries servo drives manufactured by Parker, such as the SM160 servo drive) to the computer. The x gantry motor 118 will drive the gantry x axis carriage 159 a along the gantry member 159 defining the x-axis. The y gantry motor 119 will drive the y axis carriages or sliders 160 a along side rails 160 defining the y axis. Each motor drive is connected to a power supply at input 118 b, 119 b, respectively
The second motor input/output card 113 of computer 111 is connected to the z gantry motor 120 and motor drive 120 a connected to power supply at input 120 b, and to the x rotary motor 209 of the gimbal unit 174 via motor drive 209 a connected to a power supply at input 209 b. Motor drive 120 a may also be an Aries servo drive or similar. Actuation of the z gantry motor will control driving of the z axis carriages or sliders 161 a (
The third motor input/output card 114 of computer 111 is connected to the other two motors of the gimbal unit, specifically the y and z gimbal rotary motors 210 and 211. Motor 210 is controlled via drive 210 a and connected to a power supply at input 210 b, while motor 211 is controlled via drive 211 a and connected to a power supply at input 211 b.
It will be recognized that control of the various motors for driving the gantry sliders and the gimbal plates will control the position and orientation of the gripper unit 123, and thus the position and orientation of any workpiece held by the gripper fingers.
Analog output card 115 of the computer 111 is connected to the input transducers 183, 184, 185 and 186 of the gripper of flip station 124, force controller for the sliding tool bed 126, the three finger gripper of the gripper unit 123, and the crown force controller 207 (
A digital output card 116 is connected to a series of solenoid valves 191 to 200 of the pneumatic control system of
Although the processing machine controlled by the system of FIGS. 4 to 22 is for performing grinding and/or polishing workpieces such as jewelry, the same basic system may be readily modified to control a similar machine with different types of workstations for carrying out different processing operations simply by modifying the input/output cards and software drivers based on the different hardware devices at the workstations. Other processing systems could still use the same gantry and gimbal transport mechanism.
A Windows XP® operating system 4 is used in the exemplary embodiment of the invention. It will be understood that other operating systems may be used in alternative embodiments. The operating system is programmed with a SCADA® based user interface 5, machine control software 6, and software drivers 7 for the I/O cards 2.
The software is organized in a number of levels, as indicated in
The UICL 10 and data base 11 are on the next level of the software. The UICL accepts commands from the graphical user interface (GUI) 9 and also provides needed data to the GUI. The UICL module also executes reading and writing data to the data base 10 during the automatic mode of operation and during the style training mode. The UICL also provides two-way communication to the next software level, OPC client 12.
The third level is the OPC client 12. The OPC client accepts data directly from the GUI, provides data for monitoring purposes, and accepts and sends data to UICL 10. The OPC client module 12 also provides two way communications to OPC server 13. The entire software for the system is based on a standard OPC client/server structure, which is commercially available from various manufacturers. One example of a suitable OPC server is made by Electronic Design Company of Shoreview, Minn., although OPC servers are also available from other manufacturers. OPC client is also commercially available software, and this system can use any OPC client that works under. C++ or Delphi language. One example of a suitable OPC client for this system is DOPC manufactured by KASSL GmbH of Langen, Germany, which works under Delphi. Another suitable product is WinCC or Windows Control Center that works under C++. This is a SCADA tool and OPC client made by Siemens Corporation of Munich, Germany. Both the OPC server and OPC client server may be purchased from different manufacturers if desired.
The OPC server 13 is on the fourth level. A machine control logic software module 14 is on the same level as OPC server 13. MCL is a procedure collection that provides all commands for machine motor motion. It also executes all other procedures in the process. The OPC server 13 and MCL module 14 provide two-way communication to the software drivers 7.
The software drivers 7 are on the next level. This is specialized software that enables conversion of electrical signals to-software data and vice versa. In the illustrated embodiment of the invention, this software is specialized for the specific hardware used in the jewelry processing machine. Such software drivers are generally provided by manufacturers of controllers and input/output cards and may be part of a standard industrial controller or PLC controller. The software drivers 7 in one embodiment of the invention are provided by Electronic Design Company of Shoreview, Minn. The drivers may be adapted for the specific motors used in the system (in this case, Aries Motor drives) and for alternative hardware in different part processing applications.
The graphical user interface 9 is made up of five different modules, as illustrated in
The manual module 21 enables an operator to control all of the motors manually via keyboard 16, mouse 17 and/or joystick 18, and also enables tuning of all the parameters that are related to the production process. This module has five different command blocks, as illustrated in more detail in
1. Motor Movement Commands (Block 25)
Commands 30 to 35 are used to allow the user to directly move each of the six motors for each of the six degrees of freedom (DOF) provided by the combined gantry and gimbal units, specifically the linear x, y and z motors and the rotational x, y and z motors. For each motor, a set of two buttons is provided which enables the motor to be moved in one or the other direction. These commands are sent directly via the OPC client to the software drivers 7. The operator is therefore able to move any motor directly in a desired direction, simply by clicking on the corresponding motor directional button (+ or − button). The motor stops when the button is released.
2. Predefined Movements Block 29
The commands of predefined movements block 29 are used by the user to initiate corresponding commands in the complex movement module 85 of the MCL (machine control logic) 14, as will be described below in connection with
3. Training Block 27
The training block 27 is a block of commands that are used for training of the system, i.e. definition of all necessary operations for material removal that is relevant to a particular style of part or jewelry. This block is used to train the system in desired piece dependent motions using a joystick guidance method. The training block consists of the following five commands:
4. Parameter Set Up Block 26
This command block defines the parameters tied to the production parameters. The user can adjust the following parameters using the commands in this block:
5. On/Off Commands Block 28
The On/Off command block 28 contains commands that govern the basic system functions. These are the gripper 2 on/off buttons 48 (buttons O and C) which provide commands to open or close the flip station gripper, the gripper 3 on/off buttons 49 (buttons O and C) that provide commands to open or close the gripper of gripper unit 123 carried by the gimbal unit, the flip command 50 that rotates the flip station gripper through 180 degrees, and the rouge command 51. The rouge command 51 activates application of a particular rouge to a particular polishing wheel. Before this command is executed, it is necessary to supply parameters that define which rouge applicator is to be activated along with a time which dictates how long the rouge application should last.
The tray set up block 60 is a command block which is used to define the styles and sizes of rings that are set on the tray 176. In this block, there are two commands that are repeated as many times as there are rings that are set on the tray. There are three additional commands that allow a user friendly exchange while defining ring styles and sizes for rings on a tray. The commands in block 60 are as follows:
The start block 66 of module 22 is enabled when all rings on a tray are defined as to style and size. An operator can execute this command to start automatic ring processing. The pause command 67 is used to temporarily interrupt ring processing. The cancel command 68 aborts ring processing, and is enabled when the process is paused using command 67.
The data base and setup modules 23, 24 of
The setup module 24 is used to set up basic parameters for both the hardware and the software of the system. This is where the basic calibration parameters are set. This module has four windows, specifically a mechanical positions window 72, a tool position window 73, an archive configuration window 74, and a preferences window 75.
The mechanical positions window 72 defines the basic work envelope configuration which is defined by the gantry and gimbal movement limits, i.e. the maximum and minimum position limits for all six axes of the system. Every axis has its own encoder that is placed on every motor of the gimbal and gantry. For one motor revolution causing movement along or about an axis, a corresponding encoder gives 4096 pulses. Every motor has a gear box or reducer. There is a different gear ratio for each degree of freedom. Data that define these ratios are saved as mechanical parameters of the system.
The tool positions window 73 is used to define the basic tool positions within the work envelope or area. The archive configuration window 74 is used to adjust data archiving parameters. Finally, the preferences window 75 is used to define environmental parameters. The environmental parameters are those that define window appearance on the screen, such as window placement, screen color, font size, and the like.
The user interface control logic module UICL 10 is illustrated in more detail in
The mathematical module 84 is a block of functions that is used to calculate motor angular velocities such that the resulting system motion when motors are running simultaneously is that the motors end their motion at the same time and the movement is smooth. In the case that the motion is required to be carried through a predetermined path, these functions discretize the trajectory and perform linear interpolation. In the exemplary embodiment of the invention, the math module will be in the Delphi program language. The functions comprise geometric and kinematic relationships between the degrees of freedom that can be derived starting from the geometry of the mechanism. Such functions can be found in standard robotic literature, as will be understood by one skilled in the field. The mathematical module keeps calculating necessary values that serve as the set point to the motion controllers. The following is one example of a series of algorithms which may be provided in the mathematical module in order to calculate motor angular velocities and provide these velocities to the software drivers.
In general gantry and gimbal units are controlled through the assignment of the number of impulses to the motor drives. This determines their position. The velocity is dictated by the frequency at which such impulses are supplied. As an example, an input to the motor corresponding to 1000 increments in the CCW direction to be achieved in 1 sec, consists of 1000 impulses that are sent to the drive at 1 KHz.
Whenever the motors are stopped system stores all of its positions in its memory and in the form of
In order to achieve a very first motor movement, it is necessary to bring all the motors to their zero position. It is also necessary to save all the system parameters that correspond to the position counter values. This particular position is labeled HOME. The motion of the gantry and gimbal units is always performed from its instantaneous position and in the following format.
Position parameters are directly supplied to the GANTRY( ) and GIMBAL( ) functions while the velocities are calculated for a time instant “t” and are provided by the mathematical block that contains the following expressions.
The complex movement procedures module 85 has a block of manually or automatically operated commands as follows:
Executing of this command can be used for purpose of checking the machine's calibrating status. In one example of the system, hardware switches are provided for the zero positions of the x and y gimbal motors, while zero switches for the three gantry axes are defined by software and information regarding the position on these axes is provided via software drivers. The zero position of the z gimbal motor is detected only by count of encoder impulses. When all five switches (three gantry and two gimbal) are in the “on” position, the system checks if all encoder counts are zero, indicating the system is in the overall home position.
In general, the GO movement commands in the movement command block 29 of the manual module 21 are simple commands that channel parameters to corresponding commands in the MCL 14. These commands correspond to screen buttons in the Graphical User Interface or GUI 9. By clicking one of these buttons, the operator opens a small window on the screen that enables input of command parameters. After these parameters are accepted, the system sends them to the corresponding GO command in complex movement block 85 for appropriate positioning of the gripper unit. The other (non GO) command blocks in block 85 are for actual processing of the ring. For example, GO LAP 1 will position a ring for a lapping procedure, and the corresponding command Grind 95 actually operates the grinding wheel to carry out the procedure.
Module 86 is a block of basic movement procedures. These are Go Gantry 99, Go Gimbal 100, Open/Close gripper 2 101, and Open/Close gripper 3 102. The Go Gantry command moves the gantry system from a current position to a position with coordinates defined by command parameters. Parameters for this command are gantry space x, y and z coordinates. When called, this command calls the mathematical module to define a path to the new position, and then starts the gantry motors to move the gimbal unit and gripper or hand to the new position.
The Go Gimbal command moves the gimbal unit from a current position to a position with new coordinates defined by command parameters. Parameters for this command are gimbal x, y and z angles. When called, this command activates the mathematical module to define a path and then starts the gimbal motors to move the gripper unit to the desired x, y and z angular position.
Open/Close Gripper 2 is the command for opening or closing the two finger gripper of the flip station. Open/Close Gripper 3 is the simple command for opening or closing the three finger gripper of the gripper unit or hand on the gimbal unit.
The software is started automatically by turning on the computer. The software works under the Windows XP® operating system. If the software is interrupted, it can be restarted by clicking an icon which is provided on the desktop. After starting, the software first displays a window with fields having prompts for user entry of a user name and password. After this data is entered, the program checks the data base for the legal user name and password. If the password is valid, the program allocates the corresponding access level to the operator and shows the initial application window which has a selection of operations. The operator then selects the desired operation and starts the interaction.
One of the options provided to the operator is process monitoring. This program enables continuous monitoring of all of the system working parameters in real time. With the choice of the corresponding window, the operator may monitor all the measurable parameters (physical signals) as well as other, software based parameters that are vital to proper system operation. The process monitoring window will be displayed any time when ring or article processing is going on. This window will display all the parameters important for the process. These parameters for a ring processing application are as follows:
The system is also programmed to display average metal consumption, i.e. average material removed from the parts which have been processed. For ring processing, the material removed is a precious metal such as gold, so the amount which has been removed provides valuable information to the operator. This also provides an indication of how much material might be recovered by the filter unit 137. The amount of material removed per ring will be dependent on the ring style. When the system is set up, a procedure is carried out to calculate the average amount of precious metal removed for each programmed ring style. This is done as follows for each ring style and size:
1. Ten rings of the same size are weighed before processing.
2. The rings are processed according to the particular style.
3. The same ten rings are weighed after processing.
4. The difference in the ring weight before and after processing is calculated in order to determine the average amount of material removed per ring.
5. The same procedure is carried out for each different ring size and each different ring style.
6. The data base has a stored table of average material removal for each possible ring style and size.
During ring processing, the controller keeps a running total of the number of rings of each style and size which have been processed, and the average total material removed is calculated continuously using the table of stored values and the total number of rings processed. The average precious metal consumption is displayed to the operator. This allows the user to optimize the material removal process.
Another available option is manual operation. The manual control mode is used for system servicing and for training. When a manual mode is selected, a window appears that contains motor manual commands, commands for training and adjusting, or for system servicing. In the manual mode, the operator is able to move individual motors independently from each other while using corresponding buttons on the screen (see block 25 in
When the joystick is used to control movement of the gantry sliders, movement of the joystick to the left will move the slider or carriage on the x-axis to the left relative to a: tray on the work plate. Movement of the joystick to the right moves the x-axis carriage to the right. If the joystick is moved forward, the y-axis carriage or slider is moved in the corresponding direction. Backward movement of the joystick results in movement in the negative y direction. If an upper button on the joystick is depressed, the gantry z motor is activated and the z-axis carriage or slider moves along the positive direction of the z-axis. If a lower button on the joystick is depressed, the motion is in the opposite direction along the z-axis.
If the operator selects gimbal operation under control of the joystick, then movement of the joystick to the left results in rotation about the y-axis of the gimbal unit, operating the y or yaw motor 210. Movement of the joystick to the right results in rotation in the opposite direction. Moving the joystick forward or backward results in clockwise or anti-clockwise rotation of the gimbal unit about the x axis under the control of x or pitch motor 209. If the upper joystick button is depressed, the z or roll motor 211 is activated to rotate the gimbal unit in a first or positive direction about the z axis. When the lower button is depressed, rotation in the opposite direction about the z-axis occurs.
These motions of the motors may alternatively be achieved by depressing corresponding + or − buttons 30 to 35 on the screen (see
If the operator selects training mode, all of the same commands are used. Training is started when the operator presses the training start button 43 that initiates learning of a new style by the system. In this mode, the operator conducts all the necessary ring processing operations manually. At the same time, the operator records all the instantaneous positions by clicking on the “store position” button 44. Using this command, characteristic path points are created and stored. While training, the operator can assign any desired number of points in order to define a path. The least number of characteristic points is defined so that every motion end point along any of the systems axes is stored. During the training, the operator also needs to store all the operations that are to be performed in a specific sequence that enables the correct processing of the ring. In the case where there is a change of a certain ring parameter, the operator needs to change the parameter and store its value.
The system works automatically during batch processing. Before starting, the operator needs to load the tray or trays 176. After this, the operator must define all the styles and sizes for each of the rings that are on the tray, using the tray setup procedure 60 (
Automatic batch processing may be interrupted by clicking on the PAUSE button 67. The operation can be restarted by clicking on the same button, which will now have a RESUME caption. Pause mode may also be entered automatically in the case of error scenarios such as when a ring is accidentally dropped by the gripper unit.
The operator may adjust preferences that dictate appearance of the control buttons on the screen. However, software configuration can be performed only by authorized service personnel.
At the start of the automatic grinding or polishing procedure (
The system then moves the gripper unit to the first position on the tray and picks a ring from a specific x, y, z position, in step 305. Sensor outputs are monitored in step 306 to determine whether the ring has been successfully picked up from the tray (IsRingPickedFromTray=True). In step 308, data on the selected processing sequence is obtained from the data base and the number of steps n is set. In step 310, the number of steps is set. In the subsequent steps 312,314, a sequence of predetermined processing (grinding or polishing) steps is carried out successively, based on the ring style and the trained processing sequence. When there are still steps to be carried out (315), the system returns to step 312 to carry out the next processing stage. When all steps in a processing sequence are complete (316), the ring is moved to the desired tray position (317), and the ring is deposited on the tray (318) back in its original position. When there are still rings remaining to be processed on a particular tray (320), the system returns to step 302 and repeats the sequence with the next ring. When all rings on a tray have been processed (322), the grinding or polishing procedure ends (324).
There may be a total of two stations for either grinding or polishing (with the grinding wheels switched for polishing wheels when a polishing procedure is to be carried out). Each station has a lower wheel for outside grinding or polishing (six inch diameter wheels) and an upper wheel for inside polishing (around 0.5 to 0.7 inch diameter wheels). There may be one or two larger diameter wheels at each station.
As noted above,
Station 1 with three different grinding disks or wheels, i.e. Disk 1 which is a lapping wheel or rubber wheel with sandpaper cover, Disk 2 which is an outside rough grind wheel, and Disk 3 which is a smaller, inside diameter rough grind wheel.
Station 2 with three different grinding disks or wheels, i.e. Disk 1 which is an outside contour grinding wheel, disk 2 which is an outside contour fine grind or pre polishing wheel, and disk 3 which is an inside diameter fine grinding wheel.
In the first step 330 of the procedure, the ring is moved to the grind station of the first grinding wheel, by suitable operation of the gantry and gimbal motors. A self-check is performed in step 330 to determine when the gantry and gimbal units are at the correct six coordinate location.
The next steps are for performing a lapping operation on both side faces of the ring. First, in step 332, the ring is moved into a vertical orientation with the first side facing the grinding wheel at the first grinding station, and the grinding wheel and the slide force controller are activated in order to apply the programmed grinding force at the programmed grinding wheel motor speed for the programmed duration of time. Step 332 also determines when lapping is complete. The end of the lapping procedure is calculated mathematically.
When it is determined that lapping of the first side of the ring is complete, the ring is moved to the flip station (step 334). The system determines when the gantry and gimbal units are properly positioned at the flip station based on programmed parameters. The flip station is then actuated to take the ring from the gripper unit and flips or rotates the ring through 180 degrees (step 335), and the ring is regripped by the gripper unit to present the opposite side face of the ring for lapping. When the flip procedure is determined to be finished, the system is controlled to move the ring back to the first grinding station and first grind wheel or lapping wheel by programmed operation of the gantry and gimbal motors (336). When the ring is determined to be at the proper location for lapping, the grind wheel and tool bed force controller are actuated to perform the lapping operation to remove sprues from the opposite side face of the ring (step 337).
After lapping is complete, the ring is moved to grind station 2, disk 1 (step 338) and a contour grind of the outside surface of the ring is carried out (step 340). The ring is then moved to grind station 2, disk 2 (step 342) and fine grinding or prepolishing of the outside surface is carried out (step 344). On completion of this step, the ring is moved back to the flip/re-grip station (Step 345), and the ring is re-gripped on the outside surface to leave the inside surface free for grinding (346).
In step 348, the ring is moved to grind station 2, disk 3 (inside rough grind wheel). Grinding is carried out with disk 3 on the inside surface of the ring (step 350), and the ring is then moved to grind station 1, disk 3 (inside fine grind wheel) in step 352. Fine grinding of the inside surface of the ring follows in step 354.
It will be understood that a greater number of grinding wheels and grinding steps with different grinding levels may be provided if desired.
A possible polishing sequence will now be described with reference to
Station 1, disk 1—Outside fine polish, muslin wheel
Station 1, disk 2—Outside rough polish, bristle wheel
Station 1, disk 3—Inside rough polish, bristle wheel
Station 2, disk 1—Outside fine polish, muslin wheel
Station 2, disk 2—Outside rough polish, bristle wheel
Station 2, disk 3—Inside fine polish, felt bob wheel.
In the polishing procedure, rouge is first applied to disk 1, station 1 (step 355). The ring is then moved to station 1, disk 1 (step 356), and the ring is polished using predetermined polishing parameters (step 358). After polishing is complete, the ring is moved to station 1, disk 2 (step 360), and the ring outer surface is polished (step 362). No rouge is applied to any bristle wheels prior to the polishing step. In step 364, rouge is applied to disk 1 at station 2. The ring is then moved to station 2, disk 1 (365), and the outside surface is polished (366). Next, the ring is moved to station 2, disk 2 (368), and polished (370). In the next step (372), the ring is moved to the re-grip station and the ring is re-gripped on the outside surface (374).
Rouge is then applied to station 1, disk 3 (small diameter wheel) in step 375, and the ring is moved to station 1, disk 3 (376). The inside surface of the ring is then polished (378), and the ring is moved to station 2, disk 3 (380), and the inside surface is again polished (382). This ends the polishing sequence.
The gimbal and gantry units must then be operated to move the gripper unit upwardly, out of the way of the flip gripper (step 402). In the next steps, the gripper unit is prepared to pick the ring up from the opposite side than it was gripped before. If the gripper unit is to regrip the ring from the outside, and the gripper is closed (404), the hand or gimbal unit gripper is opened (405). If the gripper unit is to regrip the ring from the inside (406), it is closed (408) in preparation for the regripping operation.
The gantry unit is then operated to move the gripper unit back down to the flip gripper (409), until the gripper fingers are positioned inside or outside the ring. If the gripper fingers are open (410), they are then closed to grip the ring (412). If the gripper fingers are closed (413), they are opened to grip the ring from the inside (414). The flip gripper is then opened to release the ring (415). The next step (416) moves the ring to the position it was in prior to the regrip command. The regrip procedure is then complete (417).
The FLIP procedure 97 of
The force controller which controls sliding movement of the tool bed and thus grinding force has one zero position, detected by a sensor 128 (
The gantry motors are then controlled to move the ring to the lapping position (450), i.e. the position calculated in step 449. If there is sprue on the ring, this will also move the lapping wheel as will be detected by the tool bed sensor. Grinding is carried out in a lapping loop 452 until the force sensor changes state, i.e. back to the zero state, indicating that any projecting sprue has been ground off and the lapping wheel has moved back to its original position.
In the LAP2 procedure, the ring is held vertically and must be held as illustrated in
If the ring has multiple sprues on the outside then they are typically symmetric with respect to the center of the shank and the angle is known. If this is the case, then the system knows by how much it should turn from the center (original pick up position) to eliminate all sprues. In the case the sprues are not symmetric then again the position angle with respect to the center line of the shank needs to be known in order to control the gimbal unit to turn the ring appropriately during lapping. For the lapping operation LAP2, the gimbal unit z axis motor is parallel with the gantry y axis 466.
A no sprue ring position or zero position for the force controller or tool bed slider is calculated in step 453 (see
The software system and method of this invention for controlling jewelry processing will operate gantry and gimbal motors automatically under pre-set parameters and operation sequences to move a series of parts, such as rings, through a series of processing stations, and also operates tools at each processing station to process each ring in the same manner. The system is user friendly and easy to set up and operate. The system can be trained with different ring styles and sizes in the initial set up procedures. The system can also accommodate different ring styles and sizes within the same processing batch, simply by recording a ring style and size for each tray position. A user friendly graphical display in any selected one of three planes x-y, y-z or x-z is provided to enable the user to train the system using a specific piece that is to be subsequently ground and/or polished. Once one piece has been trained, the system will have stored software instructions for processing other identical pieces, improving consistency. Once trained on a series of ring styles and sizes, the controller can easily operate the machine automatically to move from tool to tool, repeat parts or whole operations, and provide for quality testing.
The software may also be provided with bar code capabilities. For example a bar code on a tray may indicate the ring styles and sizes on that tray, so that the program will know the size and style of the pieces to be processed. The software can automatically load motion programs associated with a specific part and may also load vision processes for the piece to be located by the gantry system on the fixture and/or monitored during the grinding or polishing process.
The motion control software is created on a modular principle, using separate subroutines that each perform a specific system function. Each function that makes up the motion software has specific parameters that are easily adjusted at the time the machine is manufactured. This approach allows easy transfer of configuration files from one machine to another. This software capability enables training of jewelry pieces to be done on a machine which is not necessarily the same one on which the pieces will be processed.
When the jewelry or piece processing machine is being manufactured or serviced, all motion parameters that are dependent on the particular machine parameters are calibrated and remain permanently stored. Geometry and grinding/polishing parameters that are associated with a specific jewelry piece are retained in the data base. Data defining a specific style and size and its grinding offsets can be added at any time.
The man machine interface provided in this system allows joystick based training of desired gantry paths and gimbal orientations, which will be relatively straightforward for the operator to carry out. The system is SCADA® based. The joy stick based trajectory planner is an integral part of this system. Unlike a robotic training system, this system is integral to a single computer or controller and does not require a separate device hooked to the tip of the gripper which is manually dragged through a desired path. Instead, this system is readily controlled during training by an operator via the user friendly, graphical operator interface 9, without having to touch any of the moving parts of the machine inside the housing. This makes the training process much safer, and the same training process can be carried out quickly and easily for each different part style.
Once training is complete, the system can be controlled to process a plurality of jewelry pieces automatically through a series of grinding and/or polishing operations. The machine configuration can be changed by the operator for a grinding or a polishing procedure. This allows jewelry processing steps which previously could only be carried out by hand to be added to an automatic processing sequence, reducing expense and time involved in jewelry manufacture and also improving product consistency.
The graphical interface of the system allows the user to structure the motion as well as to assign specific system commands. The graphical user interface may be used as a base for training of the system using 3D/CAD or scanned data.
The entire software system is based on an OPC client/server structure which allows various existing and independent protocols and/or software modules to be seamlessly interfaced with the system, added to the system, or subtracted from the system. This allows modification of the system to change hardware, drivers, or software modules for different applications. The OPC client/server structure allows standard software products to be added as a client to allow the user to monitor or modify any system parameter in real time through tools which are normally used for other applications.
The software can be easily adapted to work on a Windows CE® platform. It also allows portability from one processing machine to another so that a new training process does not have to be carried out for each new machine. Instead, the training procedures stored on a first machine can be transferred to the controller of other machines to perform equivalent style processing operations. The operator can monitor system parameters which will be automatically displayed on the screen throughout a production process, along with a running total of the average total precious metal consumption. A remote site diagnostic is possible through external monitoring of the system.
The processing control system and method of this invention can be readily adapted for controlling machines with gantry and gimbal devices for moving parts through any processing steps, and is not limited to jewelry processing. Other types of processing may be carried out by appropriate change in the hardware and the software processing steps. For example, the system could be adapted for other material removal applications, laser jet cutting, welding, assembly, palletizing, laser deposition, pick/place and friction steer welding.
Although some exemplary embodiments of the invention have been described above by way of example only, it will be understood by those skilled in the field that modifications may be made to the disclosed embodiments without departing from the scope of the invention, which is defined by the appended claims.