|
Patent Abstract
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.
Patent Claims
1. A control system for controlling operation of a processing machine
for processing a workpiece, comprising: a controller programmed
with a plurality of program modules for controlling different operations
of the machine, the controller having a data base for storing workpiece
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 connected to the computer for use by
an operator in training the system; the program modules comprising
a monitoring module for monitoring the processing and 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 during a training procedure.
2. The system as claimed in claim 1, wherein the processing machine
has a gantry unit having x, y and z translational degrees of freedom,
a gimbal unit mounted on the gantry unit and having x, y and z rotational
degrees of freedom, and a gripper unit mounted on the gimbal unit
for holding a workpiece during processing, the training portion
of the manual module comprising means for training the gantry unit
and gimbal unit to move the gripper unit along a selected path with
selected end points at successive processing stations in the machine
and means for storing the trained path and end points in the data
base, the means for training the gantry unit comprising means for
associating right and left movements of the joystick input device
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 input device 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.
3. The system as claimed in claim 1, wherein the manual module
further comprises means for user entry and storing of machine parameters,
the parameters comprising at least grinding force for use at grinding
stations in the machine, polishing force for use at polishing stations,
and motor speeds.
4. The system as claimed in claim 1, wherein the manual module
further comprises an on-off commands block 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.
5. The system as claimed in claim 1, wherein the manual module
further comprises a movement commands block for user entry of commands
for moving gantry and gimbal units of the processing machine to
a start position, moving a gripper unit on the gimbal unit to a
pick position above a tray, initiating at least two different grinding
procedures, moving the gantry and gimbal units to a flip/regrip
station, and initiating a lapping procedure.
6. The system as claimed in claim 1, wherein one of said modules
further comprises tray set up means for user entry of the style
and size of each workpiece to be processed and the position of each
workpiece on a storage tray.
7. The system as claimed in claim 6, wherein the tray set up means
further comprises means for copying a style and size previously
entered to additional positions on the storage tray.
8. The system as claimed in claim 7, wherein the tray set up means
further comprises means for entering an empty designation for a
tray location carrying no workpiece.
9. The system as claimed in claim 1, wherein the workpieces to
be processed are rings and one of said modules further comprises
lapping means for controlling a lapping procedure, the lapping means
comprising means for controlling a main gripper unit of the machine
to hold a ring in a vertical orientation to present a first side
face of the ring for lapping, means for controlling gantry motors
of the machine 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.
10. The system as claimed in claim 9, wherein lapping means includes
means for ensuring that the gripper fingers are level with the outer
side face of the vertically oriented ring in the lapping process.
11. The system as claimed in claim 9, wherein the lapping means
further comprises means for driving gantry and gimbal units of the
machine to move a main gripper unit on the gimbal unit carrying
a jewelry piece 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.
12. The system as claimed in claim 1, wherein the controller further
comprises means for controlling removal of material from a workpiece
in a processing machine having at least one work station comprising
a material removal tool, means for continuously calculating the
average total material removal in a processing sequence for a series
of workpieces and means for displaying the average total material
removed as a current working parameter on the output monitor.
13. The system as claimed in claim 1, further comprising motion
control software having software drivers for controlling movement
of a workpiece in the machine from a start position to a series
of work stations.
14. The system as claimed in claim 13, further comprising a graphical
user interface for allowing a user to control movement of a workpiece,
the manual module comprising part of said graphical user interface.
15. The system as claimed in claim 13, wherein the program modules
further comprise a training module having a user input device for
allowing a user to train the system with a series of desired workpiece
paths, the input device, the training module defining a training
mode in which the user input device controls movement of the workpiece.
16. The system as claimed in claim 1, wherein the controller further
comprises hardware input and output cards for connection to the
hardware components of the processing machine, software drivers
connected to the input and output cards for controlling operation
of the drive components of the processing machine, an OPC server
connected to the software drivers for providing two way communications
between the software drivers and other program modules, and an OPC
client connected between the OPC server and program modules.
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 claim 17, wherein said user input
device comprises a joystick movable in left and right and up and
down directions, and having two additional movement control buttons,
19. The system as claimed in claim 18, wherein said controller
has gantry operating means for manual operation of the gantry unit
comprising means for associating right and left movements of the
joystick input device with operation of the gantry x-axis motor
to move a gantry x-axis carriage in corresponding directions, means
for associating up and down movements of the joystick input device
with operation of the 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 the gantry
z-axis motor to move a gantry z-axis carriage in opposite directions,
and gimbal operating means 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.
20. The system as claimed in claim 19, wherein said controller
has a training mode further comprising means for user entry of data
points as the gantry and gimbal units are controlled to move the
gripper unit along a selected trajectory from a home position to
a workpiece storage tray and from the tray past a series of selected
processing stations whereby the user can train the controller with
a selected trajectory for a particular style of workpiece.
21. The system as claimed in claim 20, wherein the training mode
further comprises means for user entry of commands for actuating
processing tools at the processing stations on the selected trajectory.
22. The system as claimed in claim 20, wherein the controller further
comprises means for storing a series of workpiece processing sequences,
each sequence being associated with a selected workpiece style and
based on training commands entered by a user during training modes
for each workpiece style.
23. The system as claimed in claim 17, wherein said controller
further comprises tray set up means for user entry of the style
and size of each workpiece to be processed in an automated processing
operation and the position of each workpiece on a storage tray.
24. The system as claimed in claim 23, wherein the tray set up
means further comprises means for copying a style and size previously
entered to additional positions on the storage tray.
25. The system as claimed in claim 23, wherein the tray set up
means further comprises means for entering an empty designation
for a tray location carrying no workpiece.
26. The system as claimed in claim 23, wherein the controller further
comprises means for automatically processing a series of workpieces
on a tray based on a sequence of stored travel path and processing
instructions associated with each style of workpiece on the tray,
the automatic processing means comprising means for controlling
the gantry and gimbal units to move the gripper unit from a start
position to a location above a first position on the storage tray,
means for lowering the gripper unit and actuating the gripper unit
to pick up the workpiece at the first position, means for controlling
the gantry and gimbal units and the processing station tools to
process the workpiece according to the stored program instructions
for the style and size of workpiece entered, means for returning
the processed workpiece to the original tray or a separate tray,
and means for repeating the automatic processing procedure until
each workpiece on the storage tray has been processed according
to the stored program instructions for the style and size of that
particular workpiece.
27. The system as claimed in claim 26, wherein the controller further
comprises means for stopping the automatic processing sequence in
the event of an error.
28. The system as claimed in claim 27, including an alarm which
is actuated by the controller on detection of an error.
29. The system as claimed in claim 17, wherein the workpieces comprise
pieces of jewelry and at least one work station has a grinding tool.
30. The system as claimed in claim 29, wherein the jewelry pieces
are rings and at least one work station includes a lapping tool
for removing sprues from the outer and inner faces of the ring and
from the outer side faces of the ring, and the controller further
comprises means for controlling the gantry and gimbal units and
the lapping tool to carry out a first lapping operation in which
the ring is held horizontally and sprue is removed from the outer
and inner surfaces of the ring and a second lapping operation in
which sprue is removed from the outer side faces of the ring.
31. The system as claimed in claim 30, wherein the work stations
include a flip station having a flip gripper for changing the orientation
of a ring held by the gripper unit, the controller further comprising
means for controlling the gripper unit to hold the ring vertically
during the second lapping operation to expose a first side face
of the ring for lapping against the lapping tool, means for controlling
the lapping tool to remove sprue from the first side face of the
ring, means for controlling the gantry and gimbal units to move
the gripper unit to the flip station when lapping of the first side
face is complete, means for controlling the flip gripper to hold
the ring and flip the ring through 180 degrees, means for controlling
the gripper unit to grip the flipped ring from the opposite side
after it has been flipped such that the opposite, second side face
of the ring is exposed for lapping, means for controlling the gantry
and gimbal units to move the ring back to the lapping tool after
flipping, and means for controlling the lapping tool to remove sprue
from the second side face of the ring.
32. The system as claimed in claim 17, wherein the controller further
comprises a graphical user interface for display of current system
working parameters on the output monitor, the working parameters
including a graphical display of the current position of the gantry
and gimbal units in any one of three graphical planes, the planes
comprising x-y, y-z, and x-z planes.
33. The system as claimed in claim 32, wherein the parameters include
the style and size of the workpiece currently being processed and
the original position of the workpiece on a storage tray prior to
processing.
34. The system as claimed in claim 33, wherein the processing stations
comprise tools for controlled removal of material from a workpiece
in order to shape the workpiece, the controller further comprising
means for continuously calculating the average total material removal
in a processing sequence and for displaying the average total material
removed as a current working parameter on the output monitor.
35. A method of controlling a jewelry processing machine to process
a plurality of workpieces, the processing machine having 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 from the inside or the outside and in horizontal or vertical
orientations, and a plurality of spaced workstations 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
workstations, the trajectory being associated with a selected workpiece
style; setting up a series of parameters for processing each style
of workpiece, the parameters comprising grinding force parameters
and motor speeds; 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 workstation in the series, moving
the workpiece to an 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 according to the instructions
associated with the style stored for that workpiece; and repeating
the procedure until all workpieces on a tray have been processed.
36. The method as claimed in claim 35, wherein at least one workstation
has a lapping wheel, the method further comprising a lapping operation
in which the workpiece is held in a desired orientation for lapping
against the lapping wheel and the lapping wheel is operated to remove
sprue from the workpiece.
37. The method as claimed in claim 35, wherein the workstations
comprise at least two grinding stations, each grinding station having
a plurality of grinding wheels for grinding inside and outside surfaces,
at least one of the grinding wheels comprising a lapping wheel,
the method further comprising at least one automatic grinding procedure
in which a predetermined sequence of lapping and grinding steps
are carried out by successive lapping and grinding wheels at the
grinding stations.
38. The method as claimed in claim 37, wherein each wheel is mounted
on a movable tool bed, with a force controller for controlling force
applied to the wheel, the method further comprising means for moving
a 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 operation until the sensor output indicates
that the wheel has moved back to the zero position.
39. The method as claimed in claim 35, further comprising a training
process in which an operator controls the gantry, gimbal and gripper
units using a manual input device, the training process comprising
the steps of providing the operator with manual control of the gantry,
gimbal and gripper units via an input device whereby the operator
can move a first workpiece of a particular style along a user-selected
trajectory through the machine, storing information regarding the
user-selected trajectory as the user moves the gantry, gimbal and
gripper units through a work envelope in the machine, and associating
the stored trajectory information with a workpiece style entered
by the user, storing data on each end point entered by the user
along the trajectory, and storing processing parameters entered
by the user for processing the workpiece at the workstation at each
entered endpoint, whereby a series of trained processing sequences
associated with a series of different style workpieces can be entered
by an operator and stored for future automatic processing of workpieces.
40. The method as claimed in claim 35, further comprising the steps
of monitoring a series of workpiece processing operations and displaying
a series of processing parameters to an operator.
41. The method as claimed in claim 40, wherein the monitoring step
further comprises calculating an average amount of material removed
from each workpiece during a processing sequence and displaying
a running total amount of material removed for all workpieces which
have been processed up to that point in the sequence.
42. The method as claimed in claim 32, further comprising the step
of taking a series of processing sequences which have been trained
and stored on one processing machine and inputting the processing
sequences on the controllers of one or more additional, identical
processing machines for controlling processing of equivalent workpieces
on the additional machines.
43. A control system for controlling operation of a processing
machine for processing a workpiece at a series of workstations,
the processing machine including a transport device for transporting
the workpiece to and from each workstation, the control system comprising:
a graphical user interface for providing a graphical output to the
user and allowing input of user commands to the system; hardware
input/output cards for connection to the hardware components of
the processing machine and for input of data from the hardware components
to the control system and output of commands to the hardware components;
software drivers connected to the input/output cards for controlling
operation of the transport device and drives for tools at workstations
in the machine; control software connected to the software drivers
for providing two way communications between the software drivers
and the remainder of the control system, the control software comprising
an OPC server; an OPC client connected to the OPC server for providing
two way communication between the graphical user interface and the
OPC server; and a data base connected to the graphical user interface
and the OPC client for storing system parameters and workpiece processing
software sequences; the graphical user interface comprising a plurality
of software modules, the modules comprising at least a manual module
for user control of the transport device and workstations in a training
mode, an auto module for controlling an automatic workpiece processing
sequence according to instructions stored in the data base, and
a monitoring module for monitoring workpiece processing and displaying
current processing parameters to a user.
Patent Description
BACKGROUND OF THE INVENTION
[0001] 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.
[0002] 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.
[0003] 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.
[0004] 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.
SUMMARY OF THE INVENTION
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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: [0019] 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; [0020] setting up a
series of parameters for processing the workpiece; [0021] setting
up a series of workpiece locations on a storage tray; [0022] controlling
the gantry and gimbal motors to move the main gripper unit to a
first position over a workpiece on the storage tray; [0023] controlling
the gantry motors and gripper unit to move to the workpiece, grip
the workpiece, and move the workpiece from the tray; [0024] controlling
the gantry and gimbal motors to move the workpiece along the desired
trajectory and stop at each end position; [0025] 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; [0026] after the workpiece has been processed
at the last work station in the series, moving the workpiece back
to the end position; [0027] controlling the gripper unit to release
the workpiece; [0028] 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 [0029] repeating
the procedure until all workpieces on a tray have been processed.
[0030] The end position may be the same as the original position
of the workpiece on the storage tray.
[0031] 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.
[0032] 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.
[0033] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] 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:
[0035] FIG. 1 is an exploded perspective view of the components
of a jewelry processing apparatus;
[0036] FIG. 2 is a schematic illustration of an electronic control
system according to an exemplary embodiment of the invention for
controlling operation of the apparatus of FIG. 1;
[0037] FIG. 3 is a schematic illustration of a pneumatic control
system for various pneumatic slide cylinders for controlling movement
of various parts of the apparatus of FIG. 1;
[0038] FIG. 4 is a schematic block diagram of the controller or
computer of FIG. 2, illustrating the software levels of the controller;
[0039] FIG. 5 is a block diagram illustrating the modules of the
graphical user interface of FIG. 4;
[0040] FIG. 6 is a block diagram illustrating the command blocks
of the manual module of FIG. 5;
[0041] FIG. 7 is a block diagram illustrating the command blocks
of the auto module of FIG. 5;
[0042] FIG. 8 is a block diagram of the windows of the data base
module of FIG. 5;
[0043] FIG. 9 is a block diagram of the procedures carried out
by the user interface module of FIG. 4;
[0044] FIG. 10 is a block diagram of the machine control logic
or software procedures of FIG. 4;
[0045] FIGS. 11a and 11b illustrate a general grinding or polishing
procedure;
[0046] FIGS. 12a to 12c are software flow diagrams for one example
of an automatic grinding procedure;
[0047] FIGS. 13a to 13c are software flow diagrams illustrating
an exemplary automatic polishing procedure;
[0048] FIG. 14 is a software flow diagram of the pick procedure
of FIG. 10;
[0049] FIGS. 15a and 15b are software flow diagrams of the regrip
movement procedure of FIG. 10;
[0050] FIG. 16 is a software flow diagram of the home movement
procedure of FIG. 10;
[0051] FIG. 17 is a software flow diagram of the GRIND procedure
of FIG. 10;
[0052] FIGS. 18a to 18b are software flow diagrams of the FLIP
procedure of FIG. 10;
[0053] FIG. 19 is a software flow diagram of the gantry operating
procedure of FIG. 10;
[0054] FIG. 20 is a software flow diagram of the gimbal operating
procedure of FIG. 10;
[0055] FIG. 21 is a software flow diagram of the two lapping procedures
of FIG. 10;
[0056] FIG. 22 is a schematic side elevational view illustrating
a ring held by the main gripper unit against a lapping wheel in
an orientation for lapping or sprue removal from the outer side
face of the ring; and
[0057] FIG. 22a is a front elevational view of the ring when held
as in FIG. 22, illustrating the gripper finger layout for a lapping
operation.
DETAILED DESCRIPTION OF THE DRAWINGS
[0058] 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 FIG. 1. This apparatus is described
in more detail in my co-pending application entitled Positioning
Apparatus and Method Incorporating Modular Gimbal Unit, and Jewelry
Processing System incorporating the Apparatus, which is being filed
on even date herewith, and the contents of that application are
incorporated herein by reference. Although the illustrated embodiment
is adapted for processing jewelry such as rings, it will be understood
that the control system and method of this invention may be used
in an equivalent manner for processing other metal parts and may
be adapted for different processing applications such as welding,
other material removal applications, glue dispensing, laser jet
cutting, assembly, palletizing, laser deposition, pick/place and
friction steer welding.
[0059] The apparatus as illustrated in FIG. 1 basically comprises
a horizontal work plate 125 mounted on an outer frame with a gantry
assembly mounted above the work plate for movement in x, y and z
linear directions, and a gimbal unit 174 having three rotary joints
mounted on the gantry assembly for rotation in perpendicular pitch,
roll and yaw directions about the three perpendicular rotary joints.
A gripper unit 123 for holding a part to be processed is mounted
on the end of the gimbal unit. Various work stations are mounted
on the work plate 125, along with one or more trays 176 for holding
parts prior to or after processing stages. A tool bed 126 is slidably
mounted over an opening in the table for sliding movement on rails
130 provided along opposite edges of the opening. A slider drive
cylinder 127 (see FIG. 2) controls the amount of force applied to
the sliding tool bed, and thus the application force of a tool on
the tool bed against a part. FIG. 1 illustrates three work stations
on the work table, specifically first and second grinding wheels
133, 133a on tool bed 126, driven by motors 175 and 175a, and a
flip station 124. However, additional work stations may also be
provided and the grinding wheels may be replaced by polishing wheels,
as described in my co-pending application referred to above.
[0060] 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, 134a 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.
[0061] 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 160a, 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 161a, and defines an x-axis
or direction. A slider 159a 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 FIG.
2) as will be described in more detail below.
[0062] Movement of slider 159a 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 159a in the z-direction,
while movement of the rails 161 along the side rails 160 adjusts
the location of slider 160a in the y-direction.
[0063] The gimbal or three degree of freedom (3 DOF) rotary unit
is mounted on slider or x-axis carriage 159a 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 FIG. 2)
for controlling rotation about the three perpendicular gimbal axes.
Sensors 223 are provided for detecting the zero or start position
of the x and y motors of the gimbal unit, while software associated
with motor drives is used to detect the zero or start position of
the z motor of the gimbal unit. In the start position, the three
drive motor axles or rotation axes are oriented perpendicular to
one another.
[0064] 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.
[0065] 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.
[0066] Once sprue removal is complete, the gimbal unit and gantry
unit are controlled to move the ring to the next grinding wheel
133a 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 133a 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, 133a on the same motor axles,
as will be described in more detail below.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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 175a 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.
[0072] 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.
[0073] FIG. 2 is a schematic diagram of an electronic control system
and FIG. 3 is a schematic diagram of the pneumatic control system
for controlling the apparatus of FIG. 1 to perform the operations
described above, while FIGS. 4 to 22 provide details of the software
modules used to control the operation of the various components
of the system.
[0074] The pneumatic control system of FIG. 3 controls various
pneumatic actuators for moving various parts of the apparatus under
the control of controller 111. The pneumatic actuator cylinders
are illustrated on the right hand side of FIG. 3 and comprise a
two finger gripper actuator 170 for the flip station, the pneumatic
cylinder 127 for moving the tool bed 126, the pneumatic actuator
123 for the three finger gripper of the gripper unit, a pneumatic
rotary cylinder 169 of the flip station, a cooling nozzle 179, the
pneumatic cylinder actuators 201 to 206 for each of the rouge applicators
at each polishing station as well as the crown polishing station,
and the crown polishing tool position cylinder 207. The cooling
nozzle 179 may be mounted on the y motor carrier or pitch plate
131 for directing a cooling air flow onto a ring or other workpiece
carried by the gripper unit. This nozzle may be the end of a pneumatic
pipe which is set along the electrical cable carriers of the gantry
apparatus and then fixed to the interface or pitch plate 131.
[0075] Each rouge applicator cylinder is associated with two end
position sensors (201a, 201b, 202a, 202b, . . . 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 FIG. 2.
[0076] 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.
[0077] 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.
[0078] 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 118a, 119a, 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 159a along the gantry member 159 defining the x-axis. The
y gantry motor 119 will drive the y axis carriages or sliders 160a
along side rails 160 defining the y axis. Each motor drive is connected
to a power supply at input 118b, 119b, respectively
[0079] The second motor input/output card 113 of computer 111 is
connected to the z gantry motor 120 and motor drive 120a connected
to power supply at input 120b, and to the x rotary motor 209 of
the gimbal unit 174 via motor drive 209a connected to a power supply
at input 209b. Motor drive 120a 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 161a (FIG. 1) along the vertical
or z-axis gantry members 161. Actuation of x rotary motor 209 will
control rotation of a roll plate of the gimbal unit.
[0080] 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 210a and connected to a power supply at input 210b, while
motor 211 is controlled via drive 211a and connected to a power
supply at input 211b.
[0081] 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.
[0082] 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 (FIG. 3) of the crown polishing station, respectively.
Card 115 is also connected to a frequency motor regulator 121 for
the grind motors 175 and 175a which drive the grind wheels 133,
133a, respectively, or the polishing wheels when the apparatus is
in a polishing configuration.
[0083] A digital output card 116 is connected to a series of solenoid
valves 191 to 200 of the pneumatic control system of FIG. 3. These
are the solenoid valve 191 for controlling the gripper of flip station
124, solenoid valve 192 for controlling the pneumatic cylinder actuator
170 for the gripper of gripper unit 123, solenoid valve 193 for
controlling the flip station motor 169, solenoid valve 194 for controlling
a cooling nozzle 179 which may be mounted on the gimbal unit 174,
various rouge applicator solenoid valves 195 to 198 for controlling
the pneumatic cylinder applicators 201 to 204 for rouge application
at the polishing stations, and solenoid valves 199, 200 for controlling
rouge applicator position cylinders 205 and 206. Card 116 is also
connected to an alarm light 110. A digital input card 117 receives
inputs from all of the sensors in the system The sensors comprise
the gimbal unit zero position sensors 222,223, gripper sensors 173
of the flip station gripper, the force controller sensor 128 of
the tool bed drive cylinder or force controller 127, the three finger
gripper sensors 123a and 123b of the gripper unit 123, the flip
station motor sensors 172, the rouge applicator sensors 201a,201b
to 206a, 206b, and the crown polishing tool position sensors 207a
and 207b.
[0084] FIG. 4 illustrates the organization of the software for
the control system. The controller or computer 111 has built-in
input/output cards 112 to 117 as described above, indicated by block
2 in FIG. 4. Block 3 illustrates the machine hardware controlled
by the computer and providing signals to the computer, specifically
the various motors and hydraulic cylinders controlling movement
of the various moving parts of the machine, the sensors associated
with that movement, the solenoid valves, and other components as
described above and in my copending application referenced above
and incorporated by reference herein.
[0085] 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.
[0086] A Windows XP.RTM. 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.RTM. (based user interface 5, machine
control software 6, and software drivers 7 for the I/O cards 2.
[0087] The software is organized in a number of levels, as indicated
in FIG. 4. The highest level is a graphical user interface 9 which
accepts commands from an operator and displays all needed data in
dedicated windows. The user interface 9 is also a human-machine
interface. The interface 9 provides two ways of communication to
the OPC (object linking and embedding for process control) client
12, in that it accepts data for monitoring purposes and sends basic
commands. This module also provides two-way communication to the
User Interface Control Logic Module (UICL) 10 and the data base
11.
[0088] 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.
[0089] 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.
[0090] 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.
[0091] 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.
[0092] The graphical user interface 9 is made up of five different
modules, as illustrated in FIG. 5. A monitoring module 20 has the
task of displaying all relevant data on PC monitor 15. This module
accepts data from OPC client 12 and displays the data on separate
dedicated windows, refreshing the data on the screen every time
something is changed.
[0093] 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 FIG. 6. These command blocks
are as follows:
[0094] 1. Motor Movement Commands (Block 25)
[0095] 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.
[0096] 2. Predefined Movements Block 29
[0097] 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 FIG. 10. These be used to move the gantry
system quickly to a predefined position within the work space or
envelope. There are a total of eight main points within the work
envelope, and for each of these points there is a predefined command
52 to 59 which will initiate the complex movement procedure of FIG.
7 to move the gripper unit on the gantry system from its current
position to that particular predefined position. The predefined
movement commands are as follows: [0098] (i) Go Home (52)--This
command moves the system to "home" or (0, 0, 0, 0, 0,
0), i.e. the zero position for the x, y and z gantry sliders and
the x, y and z gimbal motors. [0099] (ii) Go Pick (53)--This command
moves the gripper unit to a location above a first part (such as
a ring) on tray 176 (or another tray if more than one tray of parts
is present). [0100] (iii) Go Grind 1 (54)--This command moves the
gripper unit to a location in front of the first grinding wheel
133 (or in front of a polishing wheel if the system is set up for
polishing). [0101] (iv) Go Grind 2 (55)--This command moves the
gripper unit to a location in front of the second grinding wheel
1 33a (or in front of a second polishing wheel if the system is
set up for polishing). [0102] (v) Go Crown (56)--This command moves
the gripper unit to a crown polishing station at which ring crown
polishing will take place. [0103] (vi) Go Lap 1 (57)--This command
moves the gimbal unit into a vertical gripper position for sprue
removal. [0104] (vii) Go Lap 2 (58)--This command moves the gimbal
unit into a horizontal gripper position for sprue removal. [0105]
(viii) Go Flip (59)--This command moves the gimbal unit to the flip/re-grip
station 124.
[0106] 3. Training Block 27
[0107] 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: [0108] (i) Start
43 is the command for a training start. Execution of this command
reserves a memory block for definition of a particular style. [0109]
(ii) The store position command 44 is used to define characteristic
points on a desired trajectory of a ring during the material removal
process. Execution of this command causes the instantaneous. x,
y and z coordinates of the gantry and gimbal units to be recorded
as variables. At the same time, new variables are being defined
for the next characteristic move. This command is instigated by
the operator at the time when the system is located at the end point
of a trajectory segment that is being executed. The command 44 is
given by clicking mouse 17 or depressing a key on the joystick 18,
which the operator may be moving in order to move the gripper unit
along a desired trajectory. By recording the coordinates, one trajectory
segment is defined and the next segment is ready for definition.
[0110] (iii) The store data command 45 is used to save presently
set processing parameters from parameters block 26 in the data base,
as discussed below. [0111] (iv) The store command 46 is used to
record the last executed command within a sequence that defines
a particular jewelry or part style. [0112] (v) The end command 47
is used to end the style training. When this command is executed,
all of the parameters used to define a style are stored in the data
base. After this command, the software prompts the user to name
a particular style which is associated with the stored style, so
that it can be selected for future operations.
[0113] 4. Parameter Set Up Block 26
[0114] This command block defines the parameters tied to the production
parameters. The user can adjust the following parameters using the
commands in this block: [0115] (i) Gripper 2 force command 36 adjusts
the gripping force applied at grip station 124. [0116] (ii) Gripper
3 force command 37 adjusts the gripping force applied by gripping
unit 123. [0117] (iii) Grind force command 38 adjusts the contact
force between a part held by gripping unit 123 and the grinding
wheel, by control of the force applied by slide actuator 127. [0118]
(iv) Polish force command 39 adjusts the contact force between a
part held by gripping unit 123 and a polishing wheel. [0119] (v)
Crown force command 40 adjusts the contact force between a part
held by gripping unit 123 and a crown polishing tool [0120] (vi)
Motor speed command 41 adjusts the speed (rpm) of the tool motors.
[0121] 5. On/Off Commands Block 28
[0122] 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.
[0123] FIG. 7 illustrates the auto module 22 of FIG. 5 in more
detail. This module contains a set of commands that are used to
instigate an automatic production process. The commands within this
block are found in a tray set up block 60, a start block 66, a pause
block 67, and a cancel block 68.
[0124] 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: [0125] (i) Ring style 61--This command
defines a ring style that is located on each position on the tray.
For example, Ring 1 style defines the style of ring located at a
first position on the tray, and Ring N style defines the style of
ring located at the N-th position on the tray. This command is selected
by selecting the name of a style from a drop down menu list. In
the case in which there is no ring at a particular tray location,
this position needs to be designated as "EMPTY", which
is one of the possible style definitions. With this style designation,
the system will skip over this position on the tray. [0126] (ii)
Ring size 62--This command is used to define ring size. Ring 1 size
defines the size of the ring located at a first position on the
tray, and Ring N size defines the size of the ring located at the
Nth position on the tray. This command is executed by selecting
a ring size from a drop down list or by typing in a corresponding
number. [0127] (iii) Copy Style 63--With this command, after a ring
style is defined in block 61 for a particular N-position on a tray,
it is possible to copy the same ring style onto subsequent tray
positions. [0128] (iv) Copy Size 64--With this command, after a
ring size is defined in block 62 for a particular N-position on
a tray, it is possible to copy the same ring size onto subsequent
tray positions. [0129] (v) Cancel 65--This command cancels any further
work with size and style commands related to the configuring of
a tray, indicating that tray set up is complete.
[0130] 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.
[0131] The data base and setup modules 23, 24 of FIG. 5 are illustrated
in more detail in FIG. 8. The purpose of data base module 23 is
to update and organize data. This module has three windows, specifically
a security data window 69, a ring styles data edit window 70, and
an archive window 71. The security data window 69 allows for the
editing of user changes, password changes, and admission changes.
The ring styles data edit window 70 allows direct changes to be
made within the ring style data base. The archive window 71 allows
for an archive review.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] The user interface control logic module UICL 10 is illustrated
in more detail in FIG. 9. This consists of the following seven procedures:
[0136] (i) A parameters data acquisition procedure 76. This procedure
accepts the motion data that is sent by the graphic user interface
(GUI) 9 of FIG. 5 and sends it to the data base 11. This procedure
also accepts motion data from the data base and sends it to the
machine control logic (MCL) 14 (see FIG. 4). [0137] (ii) A training
start setup procedure 77. This procedure is called up by the training
start command 43 (FIG. 6). It defines all the variables that are
needed for a style definition. It also reserves the necessary memory
and prepares data for storage within the data base 11. [0138] (iii)
Movement commands preparing and proceeding 78. This command accepts
requests for complex moves that originate from the graphical user
interface GUI 9. It also defines current system coordinates and
sends them to the machine control logic (MCL) 14. [0139] (iv) Training
ends procedure 79. This procedure is initiated by the training end
function 47 (FIG. 6). This function releases variables that are
not used and calls up the style storing procedure 82. After a style
is stored or canceled, this procedure defines all of the variables
that are needed to define a particular style. It also reserves memory
and prepares data for storage within the data base. [0140] (v) Parameters
data acquisition procedure 80. This procedure accepts style data
from the GUI 9 and sends it to the data base. The procedure also
controls data conversion and special configuration files that define
some styles. This procedure also acquires ring style data from the
data base and sends this date to the MCL 14. [0141] (vi) Command
acquisition procedure 81. This procedure prepares the last executed
command in training mode for writing to the data base. [0142] (vii)
Style storing procedure 82. This procedure prepares a style for
writing to a data base.
[0143] FIG. 10 illustrates the machine control logic (MCL) module
14 of FIG. 4 in more detail. This module contains an automatic grinding
procedure 83, mathematical operations procedure 84, complex movements
procedure 85, and basic movements procedure 86. The automatic grinding
procedure 83 executes a series of commands that enable correct ring
processing. Ring processing varies from ring to ring. Parameters
that define a style, operation/command sequence, and other parameters
are kept within the data base 11. This data is read by UICL 10 and
is sent to the MCL 14 through the OPC client and the OPC server
13. Based on this data, the MCL processes a ring while executing
a series of basic system motion commands, as described in more detail
below in connection with FIGS. 11a to 11c.
[0144] 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.
[0145] 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.
[0146] Whenever the motors are stopped system stores all of its
positions in its memory and in the form of [0147] (x.sub.0,y.sub.0,z.sub.0,.theta..sub.10,.theta..sub.20,.theta..sub.30)
[0148] 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. [0149] GANTRY(.DELTA.x, .DELTA.y,
.DELTA.z, {dot over (x)}, {dot over (y)}, {dot over (z)}) [0150]
GIMBAL (.DELTA..THETA..sub.1,.DELTA..THETA..sub.2, .DELTA..THETA..sub.3{dot
over (.THETA.)}.sub.1, {dot over (.THETA.)}.sub.2, {dot over (.THETA.)}.sub.3)
[0151] 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. .THETA. . 1 = .DELTA..THETA.
1 t .THETA. . 2 = .DELTA..THETA. 2 t .THETA. . 3 = .DELTA..THETA.
3 t x . = .THETA. . 2 * L * cos .function. ( .DELTA..THETA. 2 )
+ .DELTA. .times. .times. x t y . = .THETA. . 1 * L * cos .function.
( .DELTA..THETA. 1 ) + .DELTA. .times. .times. y t z . = .THETA.
. 1 * L * sin .function. ( .DELTA..THETA. 1 ) - .THETA. . 2 * L
* sin .function. ( .DELTA..THETA. 2 ) + .DELTA. .times. .times.
z t Trigonometric functions that are used in the expressions above
are also a part of the mathematical block. In the foregoing expressions,
L is the length from the origin of the gimbal unit to the top of
the gripper fingers (e.g., the center of the carried ring or part).
[0152] The complex movement procedures module 85 has a block of
manually or automatically operated commands as follows: [0153] (i)
Go Home (87.)--This is the command that moves the hand or gripper
unit 123 to start position (0, 0, 0, 0, 0, 0). The link (52.) to
this command is in movement block (29.) of manual module (21.).
The operator can execute this command directly using this link.
This command can also be executed in the Auto mode. 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. [0154] (ii) Go Pick (88.)--This is the command that
moves the hand or gripper unit to a position for a pick of the first
ring on the tray 176. Link (53.) to this command is in movement
block (29.) of manual module (21.). The operator can execute this
command directly using link. After processing of the first ring,
destination coordinates for this command are set to second tray
position and so on. [0155] (iii) Go Grind (89.)--This command moves
the hand or gripper unit to the start position for the grind process.
Links (53. and 54.) to this command are in movement block (29.)
of manual module (21.). The operator can execute this command directly
using one of these links. Parameters of this command are grind wheel
number (1 or 2) and coordinates of desired hand position. These
coordinates are calculated based on a ring style and size. After
the end of ring processing (exactly when force controller sensor
closes contact), destination coordinates for this command are corrected
for a difference between last stored position and a new position).
[0156] (iv) Go Regrip (90.)--This command moves the hand above the
flip station. Considering that the positions for flip and re-grip
can differ along the gantry's Z axis, there are two separate commands
for flip and re-grip positioning. [0157] (v) Go Flip (91.)--This
command moves the hand above the flip station, and can be initiated
automatically based on a stored program sequence, or by the user
directly using the corresponding block or button 59 in the manual
module 21. [0158] (vi) Rouge Applicator (92.)--This command enables
the contact between a rouge applicator and the wheel. Parameters
for this command are the number of the rouge applicator that is
to be activated and the time interval during which this application
should last. [0159] (vii) Go Crown (93.)--Command that moves hand
to start position for crown polishing process. Link (56.) to this
command is in movement block (29.) of manual module 21. The operator
can execute this command directly using this link. [0160] (viii)
Pick (94.)--This command picks a ring from tray. Parameters for
this command are tray position and height for ring gripping. It
is initiated by GO PICK 88, which may be called based on a stored
procedure or by the operator using the link from the GO PICK command
button 53 of the manual module 21. [0161] (ix) Grind (95.)--This
command is called by automatic grinding procedure (83.) and it is
a part of automatic ring processing. Parameters for this command
are provided from the database. [0162] (x) Regrip (96.)--This command
enables switching between inside and outside gripping of the ring.
[0163] (xi) Flip (97.)--This command enables the rotation of the
flip station gripper by 180.degree.. [0164] (xii) Polish (98.)--This
command is similar to grind command. It is used for ring polishing
purpose and executes ring polishing or crown polishing. [0165] (xiii)
Go lap 1 (99.)--This command moves hand to position for lapping
of the ring. This command sets hand in vertical position. [0166]
(xiv) Go lap 2 (100.)--This command moves hand to position for lapping
of the ring. This command sets hand in horizontal position.
[0167] 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.
[0168] 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.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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:
[0173] Size and style of ring that is currently being processed.
[0174] Tray position of the ring that is currently being processed.
[0175] Gripper forces [0176] Force controller (tool bed) force.
[0177] Current operation. [0178] Date and time of start of process.
[0179] Estimated time of end of process. [0180] Current numeric
coordinates of all axes. [0181] RPM of tool motors. [0182] Alarm
panel with alarm states (if any condition goes out of limits, an
alarm light is activated and an audible alarm signal is emitted).
[0183] Positions of the gantry and gimbal units will be shown graphically
in one of the planes x-y, y-z, or x-z. The graphic plane can be
chosen by the operator.
[0184] 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: [0185] 1. Ten rings of the same size are weighed before
processing. [0186] 2. The rings are processed according to the particular
style. [0187] 3. The same ten rings are weighed after processing.
[0188] 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. [0189] 5. The same procedure is carried out for
each different ring size and each different ring style. [0190] 6.
The data base has a stored table of average material removal for
each possible ring style and size.
[0191] 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.
[0192] 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 FIG. 6) or with the use of a joystick.
The joystick can be used to control the motors of the gantry unit
or the gimbal unit as needed, and the operator can select either
type of movement.
[0193] 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.
[0194] 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.
[0195] These motions of the motors may alternatively be achieved
by depressing corresponding + or - buttons 30 to 35 on the screen
(see FIG. 6). These are labeled according to the axis that they
influence and they are all provided in +/- pairs. Buttons are activated
using the mouse.
[0196] 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.
[0197] 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 (FIG. 7). The operator chooses "EMPTY" as the style
for any tray location where there is no ring. After all of the ring
tray positions have been designated, automatic batch processing
is instigated by pressing the start button 66 on the screen.
[0198] 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.
[0199] 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.
[0200] FIGS. 11a and 11b illustrate a software flow diagram for
a general automatic grinding or polishing procedure, which will
be carried out in automatic batch processing. FIGS. 12a to 12c illustrate
an example of a detailed grinding sequence, while FIGS. 13a to 13c
illustrate an exemplary polishing sequence. These sequences will
be generated automatically during machine training. At the end of
every sequence, the operator will save a sequence to the data base.
A string of sequences will be connected to each different ring style.
[0201] At the start of the automatic grinding or polishing procedure
(FIG. 11a), an initialization step 300 is carried out in which the
tray number, ring style and ring size is obtained from the data
base. In the next step 302, the gripper unit or hand is moved to
|