Claims
- 1. A computer readable medium having computer-executable instructions for performing the following steps:
reading signals from a computer readable memory, the signals being representative of at least one physical characteristic of a first section of a workpiece; reading a first workpiece section identifier from the computer readable memory, wherein the first workpiece section identifier specifically identifies the first workpiece section associated with the signals; associating the signals for the first workpiece section to a first workpiece processing thread after receiving the associated workpiece section identifier; generating a second workpiece processing thread for receiving signals from a second workpiece section; and prior to the processing of the signals in the second workpiece processing thread, processing the signals in the first workpiece processing thread to generate a data model of the first workpiece section.
- 2. The computer readable medium of claim 1 further comprising computer-executable instructions for performing the following steps:
processing signals in the first workpiece processing thread to generate a data model of the second workpiece section; combining the data model of the first workpiece section with the data model of the second workpiece section to generate an overall data model of the workpiece; and deleting the second workpiece processing thread.
- 3. A generic, scalable consumer subsystem/producer subsystem interface controller for exchanging data between at least one producer subsystem configured to produce a set of services characterized in a producer generated data set, and at least one consumer subsystem configured to consume the set of services, comprising:
an object-oriented producer application program interface (API) configured for use on a multi-threaded, client-server operating system, comprising producer routines configured to:
initialize producer server objects and producer client objects; to receive requests for data from a consumer subsystem via said producer client objects; to send acknowledgments to a consumer subsystem in response to requests from the consumer subsystem via said producer server objects; to send data to a consumer subsystem in response to requests from the consumer subsystem via said producer server objects; and an object-oriented consumer application program interface (API) configured for use on a multi-threaded, client-server operating system, comprising consumer routines configured to:
initialize consumer server objects and consumer client objects; to send requests for data to a producer subsystem via said consumer server objects; to receive acknowledgments from a producer subsystem in response to requests from the producer subsystem via said consumer client objects; and to receive data from a producer subsystem in response to requests from the producer subsystem via said consumer client objects.
- 4. The subsystem interface of claim 3 wherein at least one of the consumer subsystems comprises a consumer server having a producer subscription to data from at least one of the producer subsystems, the producer API further comprising a first producer server thread configured to first initialize a producer client object and then to reply to the producer subscription by connecting to the consumer server.
- 5. The subsystem interface of claim 4 wherein the producer API is further configured to generate a new producer server thread for connection to a consumer server upon connection of the first producer server thread to the consumer server.
- 6. The subsystem interface of claim 5 wherein:
producer threads are listed on a subscribe table accessible by consumer servers; producer server thread is disconnectable from a consumer server; and upon disconnection of a producer thread from a consumer server, the producer thread is removed from the subscribe table.
- 7. The subsystem interface of claim 4 wherein the consumer API further comprises a plurality of consumer server threads each configured to create a dedicated connection to a producer subsystem.
- 8. A generic, scalable method for controlling the exchange of data in a consumer/producer system between at least one producer subsystem configured to produce a set of services characterized in a producer generated data set, and at least one consumer subsystem configured to consume the set of services, comprising:
initializing producer server objects and producer client objects within an object-oriented producer application program interface (API) configured for use on a multi-threaded, client-server operating system; receiving requests for data from a consumer subsystem via at least one of the initialized producer client objects; sending acknowledgments to a consumer subsystem in response to requests from the consumer subsystem using at least one of the producer server objects; sending data to a consumer subsystem in response to requests from the consumer subsystem using at least one of the producer server objects; initialize consumer server objects and consumer client objects within an object-oriented consumer application program interface (API) configured for use on a multi-threaded, client-server operating system; sending requests for data to a producer subsystem using at least one of the consumer server objects; receiving acknowledgments from a producer subsystem in response to requests from the producer subsystem using at least one of the consumer client objects; and receiving data from a producer subsystem in response to requests from the producer subsystem using at least one of the consumer client objects.
- 9. An apparatus for tracking selected kinematics of a workpiece moving at a linear velocity, comprising:
an encoder wheel configured to tangentially contact a workpiece and to rotate at an angular velocity coincident with the linear velocity of the workpiece in response to contact between the encoder wheel and the workpiece; a drive mechanism configured to drive the encoder wheel at a first angular velocity approaching an angular velocity of the encoder wheel coincident with the linear velocity of the workpiece; and a signal generator configured to interact with the encoder wheel and generate a signal in response to the angular velocity of the encoder wheel.
- 10. The apparatus of claim 9 further comprising:
a laser dopler workpiece tracking apparatus configured to detect the movement of workpieces and generate secondary signals in response thereto; a comparator circuit configured to compare the signal generated by the signal generator to the signal generated by the laser dopler workpiece tracking apparatus.
- 11. The apparatus of claim 9 further comprising:
a plurality of encoder wheels, the plurality of encode wheels configured to individually tangentially contact a workpiece and to rotate at angular velocities coincident with the linear velocity of the workpiece in response to contact between the encoder wheel and the workpiece; a plurality of drive mechanisms configured to drive the encoder wheels at angular velocities approaching the angular velocity which is coincident with the linear velocity of the workpiece; signal generators configured to interact with the encoder wheels and generate signals in response to the angular velocity of the encoder wheels.
- 12. The apparatus of claim 11 wherein the apparatus is configured to have a workpiece provided to the encoder wheels by a conveyor moving at a conveyor velocity, the apparatus further comprising a governor configured to govern the speed of the encoder wheels, via the drive mechanisms, based on the conveyor velocity.
- 13. The apparatus of claim 11 wherein the drive mechanisms further comprise:
a conveyor configured to provide a workpiece to the encoder wheels at a conveyor velocity; and a governor configured to govern the speed of the encoder wheels, via the drive mechanisms, based on the conveyor velocity.
- 14. The apparatus of claim 13 wherein the governor is configured to govern the speed of the encoder wheels to not less than eighty percent of the angular velocity which is coincident with the linear velocity of the workpiece.
- 15. The apparatus of claim 13 wherein the governor is configured to govern the speed of the encoder wheels to approximately ninety eight percent of the angular velocity which is coincident with the linear velocity of the workpiece.
- 16. The apparatus of claim 11 wherein a workpiece is to be provided to the encoder wheels on a conveyor and the encoder wheels are positioned above the conveyor, the apparatus further comprising an encoder wheel positioner mechanism configured to position the encoder wheels elevationally above the conveyor to a position sufficient to ensure contact between the encoder wheels and a workpiece.
- 17. The apparatus of claim 16 wherein each of the encoder wheels are individually mounted on pivotable arms to allow elevational positioning of the encoder wheels in response to pivoting of the pivotable arms; and the encoder positioner mechanism comprises a linkage common to the pivotable arms and configured to cause pivoting of the pivotable arms in response to actuation of the linkage.
- 18. The apparatus of claim 17 further comprising a linkage actuator configured to sense a workpiece and actuate the linkage in response thereto to elevationally position the encoder wheels to a position sufficient to ensure contact between the encoder wheels and the workpiece.
- 19. The apparatus of claim 11 wherein:
the encoder wheels comprise an encoder pulley attached thereto; the drive mechanism comprise a shaft having a first pulley and a second pulley attached thereto, and an encoder drive belt, the encoder drive belt driving the encoder pulley via the second pulley; and the apparatus further comprises a drive motor configured to drive the first pulleys via a plurality of primary drive belts.
- 20. A method for generating a model of a workpiece, comprising:
reading signals from a computer readable memory, the signals being representative of at least one physical characteristic of a first section of a workpiece; reading a first workpiece section identifier from the computer readable memory, wherein the first workpiece section identifier specifically identifies the first workpiece section associated with the signals; associating the signals for the first workpiece section to a first workpiece processing thread after receiving the associated workpiece section identifier; generating a second workpiece processing thread for receiving signals from a second workpiece section; and prior to the processing of the signals in the second workpiece processing thread, processing the signals in the first workpiece processing thread to generate a data model of the first workpiece section.
- 21. The method of claim 20 further comprising the step of storing the data model on a computer readable medium.
- 22. In the method of claim 20 wherein the data model is generated as a digital data set, the method 37 further comprising the step of using the data model to generate a three-dimensional digital image of the workpiece.
- 23. In the method of claim 20 wherein the data model is generated as a digital data set, the method further comprising the steps of:
converting the data model to an analog data model; and using the analog data model to generate an analog video image of the workpiece.
- 24. In the method of claim 20 wherein the data model is generated as a digital data set, the method further comprising the steps of:
generating an analog image of the workpiece; digitizing the analog image of the workpiece; combining the digitized analog image of the workpiece and the data model of the workpiece to generate an enhanced image of the workpiece; and displaying the enhanced image of the workpiece.
- 25. In the method of claim 20 wherein the data model is generated as a digital data set, the method further comprising the steps of:
generating an analog image of the workpiece; converting the data model to an analog data model; combining the analog image of the workpiece and analog data model of the workpiece to generate an enhanced image of the workpiece; and displaying the enhanced image of the workpiece.
- 26. A computer readable medium containing a data set representative of a model of a workpiece and defects associated with the workpiece, wherein the data set is generated by the steps comprising:
reading signals from a computer readable memory, the signals being representative of at least one physical characteristic of a first section of a workpiece; reading a first workpiece section identifier from the computer readable memory, wherein the first workpiece section identifier specifically identifies the first workpiece section associated with the signals; associating the signals for the first workpiece section to a first workpiece processing thread after receiving the associated workpiece section identifier; generating a second workpiece processing thread for receiving signals from a second workpiece section; prior to the processing of the signals in the second workpiece processing thread, processing the signals in the first workpiece processing thread to generate a data set representative of a model of the first workpiece section and defects associated with the first workpiece section; and saving the data set on the computer readable medium.
- 27. The computer readable medium of claim 26 wherein the medium is configured to be portable.
- 28. A computer readable medium containing a data set representative of a model of a workpiece and defects associated with the workpiece, wherein the data set is generated by the steps comprising:
sensing a first section of the workpiece with a sensor system to produce signals corresponding to at least one physical characteristic of the first section of the workpiece; storing the first workpiece section signals from the sensor system to a computer readable memory; generating a workpiece data model of the first section of the workpiece with a computer using the first workpiece section signals from the computer readable memory; generating a first defect assembler data subscription request with a defect assembler; transmitting the first workpiece data model to a producer thread program contained within a computer which, in response to the receipt of the first workpiece data model, receives the first data subscription request from the defect assembler and transmits the first workpiece data model from the computer to the defect assembler via a first producer thread; sensing a second section of the workpiece with the sensor system to produce signals corresponding to at least one physical characteristic of the second section of the workpiece; storing the second workpiece section signals from the sensor system to the computer readable memory; generating a second producer thread in response to storage of the second set of signals in the computer readable memory; generating a workpiece data model of the second section of the workpiece with the computer using the second workpiece section signals from the computer readable memory; generating a second defect assembler data subscription request with the defect assembler; transmitting the second workpiece data model to the producer thread program which, in response to the receipt of the second workpiece data model, receives the second data subscription request from the defect assembler and transmits the second workpiece data model from the computer to the defect assembler; within the defect assembler, generating a data set representative of a model of the workpiece and defects associated with the workpiece using the first and second workpiece data models; and saving the data set on the computer readable medium.
- 29. The computer readable medium of claim 28 wherein the medium is configured to be portable.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. §§120 and 121 from U.S. patent application Ser. No. 09/900,095 filed Jul. 5, 2001 and entitled “Method and Apparatus For Improved Inspection and Classification of Attributes of a Workpiece”, which in turn claims priority from U.S. patent application Ser. No. 09/061,723 filed Apr. 17, 1998 and entitled “Method and Apparatus For Improved Inspection and Classification of Attributes of a Workpiece”.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09900095 |
Jul 2001 |
US |
Child |
10610426 |
Jun 2003 |
US |