US2006206219A1PendingUtilityA1
Motion control systems and methods
Est. expiryMay 30, 2015(expired)· nominal 20-yr term from priority
G05B 19/416G05B 19/19G05B 2219/34216G05B 2219/43167G05B 2219/36036G05B 19/0426G05B 2219/23262G05B 2219/23265G05B 2219/34287G05B 2219/36035B25J 9/1602
47
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A system for moving an object comprising a motion control device, an application program, a computer processor, and a data exchange system. The application program identifies a predetermined set of data items associated with the motion control device. The computer processor is in communication with the motion control device and the application program to operate the motion control device by sending control commands to the motion control device. The data exchange system updates the application program when any of the data items in the predetermined set of data items changes.
Claims
exact text as granted — not AI-modified1 . A system for moving an object, comprising;
a motion control device; an application program that identifies a predetermined set of data items associated with the motion control device; a computer processor in communication with the motion control device and the application program to operate the motion control device by sending control commands to the motion control device; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
2 . The system of claim 1 , wherein the computer processor comprises a processor on a server accessible over a network.
3 . The system of claim 1 , wherein the data exchange system updates the application program over a network.
4 . 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:
providing an application program that identifies a predetermined set of data items associated with the motion control device; 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; generating a control command based on the application program and the driver code of the selected software driver; operating the selected motion control device in accordance with the control command to move the object; and updating the application program when any of the data items in the predetermined set of data items changes.
5 . The method of claim 4 , 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.
6 . The method of claim 5 , wherein the application program comprises a sequence of component functions, and at least some of the component functions are associated with driver functions.
7 . The method 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 that may be performed by a motion control device.
8 . The method of claim 4 , wherein the application is updated by sending data over a network.
9 . A system for moving an object, comprising;
a motion control device; a memory storage device containing:
an application program that identifies a predetermined set of data items associated with the motion control device;
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
one or more control commands based on the driver code of the selected software driver;
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; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
10 . The system of claim 9 , 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.
11 . The system of claim 10 , 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.
12 . The system of claim 11 , wherein the application program comprises a sequence of component functions, and wherein at least some of the component functions are associated with driver functions.
13 . The system of claim 9 , wherein the computer processor comprises a processor on a server accessible over a network.
14 . The system of claim 13 , wherein the data exchange system updates the application program over the network.
15 . 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, where the application program identifies a predetermined set of data items associated with the motion control device; 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; generating the sequence of control commands based on the component functions of the application program and the software driver; and updating the application program when any of the data items in the predetermined set of data items changes.
16 . The method of claim 15 , 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.
17 . The method of claim 14 , wherein:
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 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.
18 . 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.
19 . The method of claim 15 , wherein the application is updated by sending data over a network.
20 . A system for controlling at least one selected motion control device selected from a group of supported motion control devices, comprising:
an application program comprising a series of component function calls, where the application program defines steps for operating motion control devices in a desired manner and identifies a predetermined set of data items associated with motion control devices; a set of software drivers, where each software driver is associated with one motion control device in the group of supported motion control devices and a selected software driver is associated with at least one selected motion control device; a selection component for identifying at least one selected software driver from the set of software drivers, where the at least one selected software driver is associated with the at least one selected motion control device; a motion control component for communicating with the at least one selected motion control device based on the at least one selected software driver and the component functions called by the application program such that the at least one motion control device moves in a desired manner; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
21 . A system as recited in claim 20 , in which the selection component comprises a user interface that allows a user to identify the at least one selected software driver.
22 . A system as recited in claim 21 , in which the selection component comprises a selection interface that allows the at least one selected software driver to be identified programmatically.
23 . A system as recited in claim 20 , in which the motion control component sends data to and receives data from the at least one selected motion control device.
24 . A system as recited in claim 20 , in which the motion control component controls, monitors, and configures the at least one selected motion control device.
25 . A system as recited in claim 20 , in which each of the software drivers in the set of software drivers conforms to a common driver interface.
26 . A system as recited in claim 25 , in which the common driver interface comprises a set of component functions that are exposed to the motion control component by each of the software drivers.
27 . A system as recited in claim 25 , in which the motion control component communicates with the at least one motion control device through the common driver interface of the software driver associated with the at least one motion control device.
28 . A system as recited in claim 25 , in which the application program communicates with the motion control component.
29 . A system for communicating with a motion control device, comprising:
an application program comprising a series of function calls, wherein the application program
is configured to operate the motion control device in a desired manner, and
identifies a predetermined set of data items associated with the motion control device;
a software driver associated with the motion control device; motion software for communicating with the motion control device based on the software driver and the functions called by the application program such that the motion control device moves in the desired manner; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
30 . The system of claim 29 , wherein the application program communicates with the motion software.
31 . The system of claim 29 , comprising a plurality of software drivers associated with the motion control device, wherein at least one software driver is associated with the motion control device.
32 . The system of claim 31 , wherein each of the plurality of software drivers conforms to a common driver interface.
33 . The system of claim 32 , wherein the common driver interface comprises a set of functions that are exposed to the motion software.
34 . The system of claim 32 , wherein the motion software communicates with the motion control device through the common driver interface of the at least one software driver associated with the motion control device.
35 . The system of claim 31 , comprising a selector for identifying the at least one software driver associated with the motion control device from the plurality of software drivers.
36 . The system of claim 35 , wherein the selector comprises a user interface that allows a user to identify the at least one software driver associated with the motion control device.
37 . The system of claim 35 , wherein the selector comprises a selection interface that allows the at least one software driver associated with the motion control device to be identified programmatically.
38 . The system of claim 29 , wherein the motion software sends data to the at least one selected motion control device.
39 . The system of claim 29 , wherein the motion software receives data from the at least one selected motion control device.
40 . The system of claim 29 , wherein the motion software controls the at least one selected motion control device.
41 . The system of claim 29 , wherein the motion software monitors the at least one selected motion control device.
42 . The system of claim 29 , wherein the motion software configures the at least one selected motion control device.
43 . A system for controlling at least one selected motion control device selected from a group of supported motion control devices, comprising:
an application program comprising a series of function calls, wherein the application program
is configured to operate the motion control device in a desired manner, and
identifies a predetermined set of data items associated with the motion control device;
a set of software drivers, where each software driver is associated with one motion control device in the group of supported motion control devices and a selected software driver is associated with at least one selected motion control device; a software system for identifying at least one selected software driver from the set of software drivers and calling a series of component function calls to control the at least one selected motion control device associated with the at least one selected software driver based on the at least one selected software driver such that the at least one motion control device moves in a desired manner; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
44 . A system as recited in claim 43 , in which the software system comprises a user interface that allows a user to identify the at least one selected software driver.
45 . A system as recited in claim 43 , in which the software system comprises a selection interface that allows the at least one selected software driver to be identified programmatically.
46 . A system as recited in claim 43 , in which the software system sends data to and receives data from the at least one selected motion control device.
47 . A system as recited in claim 43 , in which the motion control component controls, monitors, and configures the at least one selected motion control device.
48 . A system as recited in claim 43 , in which each of the software drivers in the set of software drivers conforms to a common driver interface.
49 . A system as recited in claim 48 , in which the common driver interface comprises a set of component functions that are exposed to the software system by each of the software drivers.
50 . A system as recited in claim 48 , in which the software system communicates with the at least one motion control device through the common driver interface of the software driver associated with the at least one motion control device.
51 . A system for controlling at least one selected motion control device selected from a group of supported motion control devices, comprising:
an application program comprising a series of component function calls,
where
the application program defines steps for operating motion control devices in a desired manner, and
identifies a predetermined set of data items associated with the motion control device;
a set of software drivers, where each software driver is associated with one motion control device in the group of supported motion control devices and a selected software driver is associated with at least one selected motion control device; a software system for identifying at least one selected software driver from the set of software drivers and controlling at least one selected motion control device associated with the at least one selected software driver based on the at least one selected software driver and the component functions called by the application program; and a data exchange system for updating the application program when any of the data items in the predetermined set of data items changes.
52 . A system as recited in claim 51 , in which the software system comprises a user interface that allows a user to identify the at least one selected software driver.
53 . A system as recited in claim 51 , in which the software system comprises a selection interface that allows the at least one selected software driver to be identified programmatically.
54 . A system as recited in claim 51 , in which the software system sends data to and receives data from the at least one selected motion control device.
55 . A system as recited in claim 51 , in which the motion control component controls, monitors, and configures the at least one selected motion control device.
56 . A system as recited in claim 51 , in which each of the software drivers in the set of software drivers conforms to a common driver interface.
57 . A system as recited in claim 51 , in which the common driver interface comprises a set of component functions that are exposed to the software system by each of the software drivers.
58 . A system as recited in claim 51 , in which the software system communicates with the at least one motion control device through the common driver interface of the software driver associated with the at least one motion control device.
59 . A system as recited in claim 51 , in which the application program communicates with the at least one motion control device through the common driver interface of the software driver associated with the at least one motion control device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.