← Back to Patent Explorer
US6941543B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Motion control system and method

Assignee: Automation Middleware Solutions Inc
•
Filing: 2000-08-07
•
Granted: 2005-09-06
•
Expires: 2020-08-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for motion control in which an application is developed that is independent from the actual motion control hardware used to implement the system. A software system employs an application programming interface comprising component functions and a service provider interface comprising driver functions. Code associated with the component functions relates these functions to the driver functions. Driver functions are separated into core and extended driver functions. All software drivers implement the core driver functions, and optionally implement the extended driver functions. Extended driver functionality may be obtained through a combination of core driver functions.

Inventors

  • 👤 David W. Brown
  • 👤 Jay S. Clark

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 11:55
CPC Classifications
G; G05; G05B; G05B19/00; G05B19/02; G05B19/18; G05B19/416; G05B2219/00; G05B2219/30; G05B2219/34; G05B2219/34208; G05B2219/34263; G05B2219/36; G05B2219/36035; G05B2219/36037

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 93 words
A method of moving an object in a desired manner using a motion control device from a group of supported motion control devices, comprising the steps of: (i) selecting a software driver from a plurality of software drivers, each of the plurality of software drivers comprising driver code to control one or more motion control devices; (ii) generating a control command based on an application program and the driver code of the selected software driver; and (iii) operating the selected motion control device in accordance with the control command to move the object.
Claim 2
Independent Claim 93 words
A method of moving an object in a desired manner using a motion control device from a group of supported motion control devices, comprising the steps of: (i) selecting a software driver from a plurality of software drivers, each of the plurality of software drivers comprising driver code to control one or more motion control devices; (ii) generating a control command based on an application program and the driver code of the selected software driver; and (iii) operating the selected motion control device in accordance with the control command to move the object.
Claim 3
Dependent Claim 42 words
The method of claim 1 , wherein the step of generating a control command is further based on a set of driver functions, each driver function defining one or more incremental motion steps that may be performed by the motion control device.
Claim 4
Dependent Claim 29 words
The method of claim 2 , wherein the application program comprises a sequence of component functions, and at least some of the component functions are associated with driver functions.
Claim 5
Dependent Claim 67 words
The method of claim 3 , wherein the set of driver functions comprises a subset of first driver functions and a subset of second driver functions, and wherein each first driver function identifies an incremental motion step that may be performed by a motion control device and each second driver function identifies a plurality of incremental motion steps that may be performed by a motion control device.
Claim 6
Independent Claim 97 words
A system for moving an object, comprising; (i) a motion control device; (ii) a memory storage device containing: (a) a software driver selected from a plurality of software drivers, each of the plurality of software drivers comprising driver code to control one or more motion control devices; and (b) one or more control commands based on the driver code of the selected software driver; and (iii) a computer processor in communication with the motion control device and the memory storage device to operate the motion control device by sending the control commands to the motion control device.
Claim 7
Independent Claim 97 words
A system for moving an object, comprising; (i) a motion control device; (ii) a memory storage device containing: (a) a software driver selected from a plurality of software drivers, each of the plurality of software drivers comprising driver code to control one or more motion control devices; and (b) one or more control commands based on the driver code of the selected software driver; and (iii) a computer processor in communication with the motion control device and the memory storage device to operate the motion control device by sending the control commands to the motion control device.
Claim 8
Dependent Claim 37 words
The system of claim 5 , wherein the control commands are based on a set of driver functions, each driver function defining one or more incremental motion steps that may be performed by the motion control device.
Claim 9
Dependent Claim 58 words
The system of claim 6 , wherein the set of driver functions comprises a subset of first driver functions and a subset of second driver functions, and wherein each first driver function identifies an incremental motion step that may be performed by a motion control device and each second driver function identifies a plurality of incremental motion steps.
Claim 10
Dependent Claim 30 words
The system of claim 7 , wherein the application program comprises a sequence of component functions, and wherein at least some of the component functions are associated with driver functions.
Claim 11
Dependent Claim 17 words
The system of claim 8 , wherein the computer processor comprises a processor on a personal computer.
Claim 12
Dependent Claim 18 words
The system of claim 8 , wherein the computer processor comprises a processor on a personal digital assistant.
Claim 13
Dependent Claim 17 words
The system of claim 8 , wherein the computer processor is installed on the motion control device.
Claim 14
Dependent Claim 20 words
The system of claim 8 , wherein the computer processor comprises a processor on a server accessible over a network.
Claim 15
Independent Claim 87 words
A method for generating a sequence of control commands for controlling a motion control device to perform a series of motion steps, the method comprising the steps of: providing an application program comprising a series of component functions; selecting the motion control device from a group of supported motion control devices; selecting a software driver associated with the motion control device from a set of software drivers; and generating the sequence of control commands based on the component functions of the application program and the software driver.
Claim 16
Independent Claim 87 words
A method for generating a sequence of control commands for controlling a motion control device to perform a series of motion steps, the method comprising the steps of: providing an application program comprising a series of component functions; selecting the motion control device from a group of supported motion control devices; selecting a software driver associated with the motion control device from a set of software drivers; and generating the sequence of control commands based on the component functions of the application program and the software driver.
Claim 17
Dependent Claim 48 words
The method of claim 13 , wherein each software driver from the set of software drivers comprises driver code for implementing motion control operations associated with at least some driver functions, and the step of generating the sequence of control commands is further based on the driver code.
Claim 18
Dependent Claim 97 words
The method of claim 14 , wherein (i) each motion control operation comprises either a primitive operation the implementation of which is required to control the object and cannot be simulated using any other motion control operations or a non-primitive operation that does not meet the definition of a primitive operation, and (ii) the driver functions comprise a core set of core driver functions in which each core driver function is associated with one of the primitive operations and an extended driver functions in which each extended driver function is associated with one of the non-primitive operations.
Claim 19
Dependent Claim 53 words
The method of claim 15 , wherein the component functions are selected from a set of component functions, component code associates at least some of the component functions with at least some of the driver functions, and the step of generating the sequence of control commands is further based on the component code.

References Cited (Backward Citations)

JPS59228473A Cited
US4769771A Cited
US4809335A Cited
US4767334A Cited
US4897835A Cited
US4713808A Cited
EP0275826A1 Cited
US4846693A Cited
US4840602A Cited
US4857030A Cited
EP0281427B1 Cited
US4855725A Cited
US4887966A Cited
US5914876A Cited
US5670992A Cited
EP0442676A2 Cited
GB2244896A Cited
US5168441A Cited
US5412757A Cited
WO1992011731A2 Cited
US5120065A Cited
EP0508912A1 Cited
US5790178A Cited
WO1993008654A1 Cited
US5889670A Cited
US5889672A Cited
US6195592B1 Cited
US5450079A Cited
US5821987A Cited
US5402518A Cited
EP0583908A2 Cited
US5493281A Cited
US5655945A Cited
US6104158A Cited
US6131097A Cited
US5607336A Cited
US5666161A Cited
US5576727A Cited
US5734373A Cited
US6366273B1 Cited
US6057828A Cited
US6300937B1 Cited
US6046727A Cited
US5701140A Cited
US5739811A Cited
US6219033B1 Cited
US5392207A Cited
US5596994A Cited
US5377258A Cited
WO1995007504A1 Cited
US5818537A Cited
US5600373A Cited
US5438529A Cited
US5617528A Cited
US5652866A Cited
US5465215A Cited
US5821920A Cited
US5623582A Cited
US5733131A Cited
US5707289A Cited
US5855483A Cited
US5852441A Cited
US6246390B1 Cited
US5907704A Cited
US20010032268A1 Cited
US6542925B2 Cited
US5867385A Cited
US6209037B1 Cited
US5691897A Cited
US20010020944A1 Cited
US6271833B1 Cited
US5691898A Cited
US5801946A Cited
US5800268A Cited
US5636994A Cited
US6100874A Cited
US6166723A Cited
US6191774B1 Cited
US6061004A Cited
US6278439B1 Cited
US6219032B1 Cited
US6028593A Cited
US6366272B1 Cited
US5959613A Cited
US6169540B1 Cited
US5956484A Cited
US6078308A Cited
US6161126A Cited
US6101530A Cited
US6317116B1 Cited
US6353850B1 Cited
US5746602A Cited
US5737523A Cited
US5764155A Cited
US5846132A Cited
US5822207A Cited
US5828575A Cited
US6374255B1 Cited
US6125385A Cited
US5890963A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2008-09-05 2009-03-07 2009-09-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2012-09-05 2013-03-07 2013-09-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2016-09-05 2017-03-07 2017-09-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag