Claims
- 1. A method for controlling an actuator, comprising:
storing a program of instructions on a host computer; linking the host computer to a smart camera module; coupling the smart camera module to the actuator; retrieving the program of instructions from the host computer and loading it into the smart camera module; obtaining images with the smart camera module; and controlling the actuator with the smart camera module based upon said images and said program.
- 2. A method in accordance with claim 1 wherein said retrieving is performed immediately after power is applied to the control module.
- 3. A method in accordance with claim 1 wherein said linking is performed with a high speed serial bus implemented over a flexible cable.
- 4. A method in accordance with claim 3 wherein said high speed serial bus is an IEEE 1394 bus.
- 5. A method for controlling a first and a second actuator, comprising:
storing a first and a second program of instructions on a host computer; linking the host computer to a first control module and a smart camera module; coupling the first control module to the first actuator and the smart camera module to the second actuator; retrieving the first program of instructions from the host computer and loading it into the first control module; retrieving the second program of instructions from the host computer and loading it into the smart camera module; obtaining images with the smart camera module; processing the images in accordance with the second program of instructions at the second camera module′controlling the first actuator with the first control module; and controlling the second actuator with the smart camera module based upon said images and said second program.
- 6. A method in accordance with claim 5 wherein said retrieving the first program is performed immediately after power is applied to the first control module.
- 7. A method in accordance with claim 6 wherein said retrieving the second program is performed immediately after power is applied to the smart camera module.
- 8. A method in accordance with claim 5 wherein said linking is performed with a high speed serial bus implemented over a flexible cable.
- 9. A method in accordance with claim 8 wherein said high-speed serial bus is an IEEE 1394 bus.
- 10. A method for distributed machine control, comprising:
storing a first and a second program of instructions on a host computer; linking the host computer to a first control module; linking the first control module to a smart camera module; coupling the first control module to a first actuator and the smart camera module to a second actuator; retrieving the first program of instructions from the host computer and loading it into the first control module; retrieving the second program of instructions from the host computer and loading it into the smart camera module; obtaining images with the smart camera module; controlling the first actuator with the first control module; and controlling the second actuator with the smart camera module based upon said images and said second program.
- 11. A method in accordance with claim 10 wherein said linking the host computer is performed with a high speed serial bus implemented over a flexible cable.
- 12. A method in accordance with claim 11 wherein said first control module includes a hub supporting the connection of at least one additional device coupled to the hub with a high speed serial bus implemented over a flexible cable.
- 13. A method in accordance with clam 12 wherein said linking the first control module computer is performed with a high speed serial bus implemented over a flexible cable.
- 14. A method in accordance with claim 13 wherein said retrieving the first program is performed immediately after power is applied to the first control module.
- 15. A method in accordance with claim 14 wherein said retrieving the second program is performed immediately after power is applied to the smart camera module.
- 16. A method in accordance with claim 10 wherein said retrieving the first program of instructions is accomplished in response to first transmitting from the first control module a unique identification permanently stored in a component of the first control module.
- 17. A method in accordance with claim 16 wherein said retrieving the second program of instructions is accomplished in response to first transmitting from the second control module a unique identification permanently stored in a component of the smart camera module.
- 18. A method for distributed machine control, comprising:
controlling a first actuator with a first control module, said first module including a first processor carrying out a program of instructions and generating a first set of signals for controlling said first actuator; controlling a second actuator with a smart camera module, said smart camera module including a second processor carrying out a program of instructions and generating a second set of signals for controlling said second actuator; linking said first set of signals through a first error current block disposed in said first module to said first actuator, said first error current block receiving and transmitting an error current loop signal and interrupting said first set of signals if said error current loop signal is interrupted; linking said second set of signals through a second error current block disposed in said smart camera module to said second actuator, said second error current block receiving and transmitting said error current loop signal and interrupting said second set of signals if said error current loop signal is interrupted; detecting an error condition; and interrupting said error current loop signal upon detection of said error condition.
- 19. A method in accordance with claim 18 wherein said detecting is performed at least by an emergency stop switch.
- 20. A smart camera module for controlling an actuator, said smart camera module comprising:
an image sensor for acquiring image data; a communications/processor unit including
a component specifying a unique identification for the communications/processor module; a processor; a non-volatile memory providing a bootstrap load program of instructions for the processor; and a volatile program memory for storing a program of instructions for controlling the processor to process the image data; and a function unit for driving the actuator, said communications/processor unit electrically coupled to said function unit.
- 21. A control module in accordance with claim 20 wherein said communications/processor unit is coupled to said function unit through an error current block having an error current loop input and an error current loop output, said error current block interrupting at least one signal to said actuator from said processor whenever current is interrupted in said error current loop.
- 22. An apparatus for controlling an actuator, comprising:
a host computer; means for storing a program of instructions on the host computer; means for linking the host computer to a smart camera module, the smart camera module including means for acquiring image data; means for coupling the smart camera module to the actuator; means for retrieving the program of instructions from the host computer and loading it into the smart camera module, the program of instructions including instructions for processing the image data; and means for controlling the actuator with the smart camera module.
- 23. An apparatus in accordance with claim 22 wherein said means for retrieving operates immediately after power is applied to the smart camera module.
- 24. An apparatus in accordance with claim 22 wherein said means for linking includes a high-speed serial bus implemented over a flexible cable.
- 25. An apparatus in accordance with claim 24 wherein said high-speed serial bus is an IEEE 1394 bus.
- 26. An apparatus for controlling a first and a second actuator, comprising:
a host computer; means for storing a first and a second program of instructions on the host computer; means for linking the host computer to a first control module and a smart camera module, the smart camera module including means for acquiring image data; means for coupling the first control module to the first actuator and the smart camera module to the second actuator; means for retrieving the first program of instructions from the host computer and loading it into the first control module; means for retrieving the second program of instructions from the host computer and loading it into the smart camera module, the second program including instructions for processing the image data; means for controlling the first actuator with the first control module; and means for controlling the second actuator with the smart camera module.
- 27. An apparatus in accordance with claim 26 wherein said means for retrieving the first program operates immediately after power is applied to the first control module.
- 28. An apparatus in accordance with claim 27 wherein said means for retrieving the second program operates immediately after power is applied to the smart camera module.
- 29. An apparatus in accordance with claim 26 wherein said means for linking includes a high-speed serial bus implemented over a flexible cable.
- 30. An apparatus in accordance with claim 29 wherein said high-speed serial bus is an IEEE 1394 bus.
- 31. An apparatus for distributed machine control, comprising:
a host computer; means for storing a first and a second program of instructions on the host computer; means for linking the host computer to a first control module; means for linking the first control module to a smart camera module, the smart camera module including means for acquiring image data; means for coupling the first control module to a first actuator and the smart camera module to a second actuator; means for retrieving the first program of instructions from the host computer and loading it into the first control module; means for retrieving. the second program of instructions from the host computer and loading it into the smart camera module, the second program including instructions for processing the image data; means for controlling the first actuator with the first control module; and means for controlling the second actuator with the smart camera module.
- 32. An apparatus in accordance with claim 31 wherein said means for linking the host computer includes a high-speed serial bus implemented over a flexible cable.
- 33. An apparatus in accordance with claim 32 wherein said first control module includes a hub supporting the connection of at least one additional device coupled to the hub with a high speed serial bus implemented over a flexible cable.
- 34. An apparatus in accordance with clam 33 wherein said means for linking the first control module computer includes a high-speed serial bus implemented over a flexible cable.
- 35. An apparatus in accordance with claim 34 wherein said means for retrieving the first program operates immediately after power is applied to the first control module.
- 36. An apparatus in accordance with claim 35 wherein said means for retrieving the second program operates immediately after power is applied to the smart camera module.
- 37. An apparatus in accordance with claim 31 wherein said means for retrieving the first program of instructions is responsive to first transmitting from the first control module a unique identification permanently stored in a component of the first control module.
- 38. An apparatus in accordance with claim 37 wherein said means for retrieving the second program of instructions is responsive to first transmitting from the smart camera module a unique identification permanently stored in a component of the smart camera module.
- 39. An apparatus for distributed machine control, comprising:
means for controlling a first actuator with a first control module, said first module including a first processor carrying out a first program of instructions and generating a first set of signals for controlling said first actuator; means for controlling a second actuator with a smart camera module, said smart camera module including means for acquiring image data and a second processor carrying out a second program of instructions and generating a second set of signals for controlling said second actuator, said second program including instructions for processing the image data; means for linking said first set of signals through a first error current block disposed in said first module to said first actuator, said first error current block receiving and transmitting an error current loop signal and interrupting said first set of signals if said error current loop signal is interrupted; means for linking said second set of signals through a second error current block disposed in said smart camera module to said second actuator, said second error current block receiving and transmitting said error current loop signal and interrupting said second set of signals if said error current loop signal is interrupted; means for detecting an error condition; and means for interrupting said error current loop signal upon detection of said error condition.
- 40. An apparatus in accordance with claim 39 wherein said means for detecting includes at least an emergency stop switch.
- 41. A method for controlling an actuator, comprising:
storing a program of instructions on a host computer; linking the host computer to a smart camera module; coupling the smart camera module to the actuator; retrieving the program of instructions from the host computer and loading it into the smart camera module; acquiring image data with the smart camera module; processing the image data with the smart camera module; controlling the actuator with the smart camera module; sending state information reflecting a state of the smart camera module from the smart camera module to the host computer repeatedly at fixed time intervals; and storing the state information in memory of the host computer between said fixed time intervals.
- 42. A method in accordance with claim 41 wherein said sending is performed using the IEEE 1394 bus isochronous protocol mode.
- 43. A method in accordance with claim 41 wherein said sending is performed in response to a real-time clock causing the issuance of a read request to said smart camera module at fixed time intervals.
- 44. A method in accordance with claim 41 wherein said sending and said storing do not require permission from, redirection from or routing by said host computer.
- 45. A method in accordance with claim 41 wherein said smart camera module maintains an in-page data block containing a complete set of desired control states from the host computer and an out-page data block containing the current state of all variables maintained with the smart camera module.
- 46. A method in accordance with claim 45 further comprising checking the state information for errors at least twice during each said time interval.
- 47. A method in accordance with claim 46 wherein the at least two error checks include a checksum on data integrity of the in-page data block and the out-page data block and a recirculating message sequence number used to verify message order integrity.
- 48. A method in accordance with claim 47, wherein said checksum and said recirculating message sequence number are data fields appended to the in-page data block and the out-page data block.
- 49. An apparatus for controlling an actuator, comprising:
a host computer; means for storing a program of instructions on the host computer; a smart camera including an image sensor for acquiring image data; means for linking the host computer to said smart camera module; means for coupling said smart camera module to the actuator; means for retrieving the program of instructions from the host computer and loading it into said smart camera module, the program including instructions for processing the image data; means for controlling the actuator with said smart camera module; means for sending state information reflecting a state of said smart camera module from said smart camera module to the host computer repeatedly at fixed time intervals; and means for storing the state information in memory of the host computer between said fixed time intervals.
- 50. An apparatus in accordance with claim 49 wherein said means for sending utilizes the IEEE 1394 bus isochronous protocol mode.
- 51. An apparatus in accordance with claim 49 wherein said means for sending is responsive to a real-time clock causing the issuance of a read request to said smart camera module at fixed time intervals.
- 52. An apparatus in accordance with claim 49 wherein said means for sending and said means for storing do not require permission from, redirection from or routing by said host computer.
- 53. An apparatus in accordance with claim 49 wherein said smart camera module maintains an in-page data block containing a complete set of desired control states from the host computer and an out-page data block containing the current state of all variables maintained with the smart camera module.
- 54. An apparatus in accordance with claim 53 further comprising means for checking the state information for errors at least twice during each said time interval.
- 55. An apparatus in accordance with claim 54 wherein the at least two error checks include a checksum on data integrity of the in-page data block and the out-page data block and a recirculating message sequence number used to verify message order integrity.
- 56. An apparatus in accordance with claim 55, wherein said checksum and said recirculating message sequence number are data fields appended to the in-page data block and the out-page data block.
- 57. A method for coordinating and synchronizing data flow between a smart camera module and a host computer, said method comprising:
linking the smart camera module to the host computer via a high-speed serial data bus, the high-speed serial data bus utilizing an isochronous transfer mode having a fixed time interval between transfers; obtaining a program of instructions from the host computer and loading it into the smart camera module, the program including image processing instructions for processing image data; acquiring image data with the smart camera module; processing image data in accordance with the image processing instructions; and transferring a current status variable data block from said smart camera module to the host computer and transferring a desired status variable data block from the host computer to said smart camera module during each said time interval via said high-speed serial data bus.
- 58. A method in accordance with claim 57, wherein said smart camera module has a unique identification stored on a component of said smart camera module and transmitted to the host computer with each transmission taking place from said smart camera module to the host computer via said high-speed serial data bus.
- 59. An apparatus for coordinating and synchronizing data flow between a smart camera module and a host computer, said apparatus comprising:
means for linking the smart camera module to the host computer via a high-speed serial data bus, the high-speed serial data bus utilizing an isochronous transfer mode having a fixed time interval between transfers; and means for transferring a current status variable data block from the smart camera module to the host computer and transferring a desired status variable data block from the host computer to the smart camera module during each said time interval via said high-speed serial data bus.
- 60. A method in accordance with claim 59, wherein the smart camera module has a unique identification stored on a component thereof and transmitted to the host computer with each transmission taking place from the control module to the host computer via said high-speed serial data bus.
- 61. A method in accordance with claim 5 wherein said linking includes providing a first connection between the host computer and a hub disposed in the first control module and providing a second connection between the hub disposed in the first control module and a smart camera module.
- 62. A method for controlling an actuator in a machine having at least one smart camera module for providing control signals to the actuator and a host computer for controlling the smart camera module, said method comprising:
linking the host computer to the smart camera module via a high-speed data bus; coupling the smart camera module to the actuator; acquiring image data with the smart camera data; processing the image data with the smart camera module in accordance with instructions received from the host computer; maintaining and updating a first set of data at the smart camera module; transmitting said first set of data to the host computer periodically at fixed intervals of time without polling; maintaining and updating a second set of data at the host computer; and transmitting said second set of data to the smart camera module periodically at fixed intervals of time without polling.
- 63. An apparatus for controlling an actuator in a machine having at least one smart camera module for providing control signals to the actuator and a host computer for controlling the smart camera module, said apparatus comprising:
means for linking the host computer to the smart camera module via a high-speed data bus; means for coupling the smart camera module to the actuator; acquiring image data with the smart camera data; processing the image data with the smart camera module in accordance with instructions received from the host computer; means for maintaining and updating a first set of data at the smart camera module; means for transmitting said first set of data to the host computer periodically at fixed intervals of time without polling; means for maintaining and updating a second set of data at the host computer; and means for transmitting said second set of data to the smart camera module periodically at fixed intervals of time without polling.
- 64. A method for viewing and responding to a condition viewed by an image sensor of a smart camera module, the smart camera module coupled to a host computer, said method comprising:
linking the host computer to the smart camera module via a high-speed data bus; viewing a condition with the image sensor to acquire image data; processing the image data with a processor disposed in the smart camera module, the processor performing a set of instructions received from the host computer; determining the condition with the smart camera module; maintaining and updating a first set of data dependent upon the condition at the smart camera module; and transmitting said first set of data to the host computer periodically at fixed intervals of time without polling.
- 65. An apparatus for sensing and responding to a condition sensed by an image sensor of a smart camera module, the smart camera module coupled to a host computer, said apparatus comprising:
means for linking the host computer to the smart camera module via a high-speed data bus; means for viewing a condition with the image sensor to acquire image data; means for processing the image data with a processor disposed in the smart camera module, the processor performing a set of instructions received from the host computer; means for determining the condition with the smart camera module; means for maintaining and updating a first set of data dependent upon the condition at the smart camera module; and means for transmitting said first set of data to the host computer periodically at fixed intervals of time without polling.
- 66. A system for synchronizing an event to a captured image, comprising:
a smart camera module including an image sensor for capturing image data; a processor disposed in the smart camera module for processing the image data captured by said image sensor; and an input line for receiving an external input and providing it directly to said processor, the input line carrying a digital signal indicative of the occurrence of the event.
- 67. A system for synchronizing an event to a captured image, comprising:
a smart camera module including an image sensor for capturing image data; a processor disposed in the smart camera module for processing the image data captured by said image sensor; and an output line for transmitting a signal directly from the processor to an external device, the output line carrying a digital signal indicative of the occurrence of the event.
- 68. A system in accordance with claim 67 wherein said device is a strobe light.
- 69. A system in accordance with claim 66 wherein said event is the closing of a switch.
RELATED APPLICATIONS
[0001] This application is related to and claims the benefit of: (1) provisional U.S. Patent Application Serial No. 60/188,562 filed on Mar. 10, 2000 in the name of Edison T. Hudson, entitled “Smart camera”, commonly assigned herewith; (2) provisional U.S. Patent Application Serial No. 60/188,580 filed on Mar. 10, 2000 in the names of Edison T. Hudson, James McCormick, Ronald G. Genise and Jerome Dahl, entitled “Hardware architecture and method for distributed machine control”, commonly assigned herewith; and is a continuation-in-part of (3) U.S. Non-Provisional patent application Ser. No. 09/779,913 filed Feb. 7, 2001 in the names of Edison T. Hudson, James McCormick, Ronald G. Genise and Jerome Dahl, entitled “Hardware architecture and method for distributed machine control”, commonly assigned herewith.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60188562 |
Mar 2000 |
US |
|
60188580 |
Mar 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09779913 |
Feb 2001 |
US |
Child |
09803001 |
Mar 2001 |
US |