Database driven robot programming system and method
First Claim
1. A robotic assembly system, comprising:
- a moveable member for moving specified objects from specified source locations to specified destinations within a specified workcell; and
a controller, coupled to said moveable member, for controlling the movement of said moveable member, including;
a set of primitive routines for controlling the operation of said moveable member while performing predefined tasks in accordance with specified parameters;
a set of separate, interrelated data structures for storing data defining a robotic assembly sequence by separately denoting the tasks to be performed, data defining the relative positions of the set of locations which define said workcell, and data defining how each said task is to be performed, said data structures including;
at least one location database for defining the locations to be used in said assembly sequence, including means for storing parameter values, for each of at least a multiplicity of said locations, which govern how said moveable member moves when moving to each said location;
at least one part database for defining the objects to be moved by said system, including means for storing data defining for each said object at least one potential source location, and at least one parameter which specifies one of said primitive routines for use when moving said object; and
at least one sequence database for specifying the sequence of tasks to be performed in said assembly sequence, including a multiplicity of records, each record storing data specifiying an object in said part database, and a location in said location database to which said object is to be moved; and
movement directing means, coupled to said primitive routines and said interrelated data structures, for reading the data stored in said location, part and sequence databases and for executing said primitive routines in a sequence and using parameters specified in corresponding ones of said databases;
whereby the data in said databases collectively specify the operation of said moveable member.
2 Assignments
0 Petitions
Accused Products
Abstract
A robot assembly system which uses a set of related databases to separately describe (1) what task is to be performed by the system, (2) details about how to perform the task (e.g., specifying the strategy routine to be used to insert a part into an assembly), and (3) data describing the workcell and object locations. The system includes software routines which control how each robotic operation is performed, but those aspects of each robotic operation which vary from part to part or from operation to operation are determined by the data in the databases. By keeping the what, how and where aspects of each assembly task separate, the present invention makes it possible to change them independently. Furthermore, the task to be performed by the system is typically defined by a Sequence database, which enables new tasks to be defined by simple, task level programming instructions, such as TRANSFER PART sn7400 TO u20.
-
Citations
21 Claims
-
1. A robotic assembly system, comprising:
-
a moveable member for moving specified objects from specified source locations to specified destinations within a specified workcell; and a controller, coupled to said moveable member, for controlling the movement of said moveable member, including; a set of primitive routines for controlling the operation of said moveable member while performing predefined tasks in accordance with specified parameters; a set of separate, interrelated data structures for storing data defining a robotic assembly sequence by separately denoting the tasks to be performed, data defining the relative positions of the set of locations which define said workcell, and data defining how each said task is to be performed, said data structures including; at least one location database for defining the locations to be used in said assembly sequence, including means for storing parameter values, for each of at least a multiplicity of said locations, which govern how said moveable member moves when moving to each said location; at least one part database for defining the objects to be moved by said system, including means for storing data defining for each said object at least one potential source location, and at least one parameter which specifies one of said primitive routines for use when moving said object; and at least one sequence database for specifying the sequence of tasks to be performed in said assembly sequence, including a multiplicity of records, each record storing data specifiying an object in said part database, and a location in said location database to which said object is to be moved; and movement directing means, coupled to said primitive routines and said interrelated data structures, for reading the data stored in said location, part and sequence databases and for executing said primitive routines in a sequence and using parameters specified in corresponding ones of said databases; whereby the data in said databases collectively specify the operation of said moveable member. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15, 16)
-
-
8. A method of programming a robotic assembly system to perform an assembly sequence, said robotic assembly system having a moveable member for moving specified objects from specified source locations to specified destinations within a specified workcell, the steps of the method comprising:
-
providing a set of primitive routines for controlling the operation of said moveable member while performing predefined tasks in accordance with specified parameters; providing a set of separate, interrelated data structures for storing data defining a robotic assembly sequence by separately denoting the tasks to be performed, data defining the relative positions of the set of locations which define said workcell, and data defining how each said task is to be performed, said data structures including; at least one location database for defining the locations to be used in said assembly sequence, including means for storing parameter values, for each of at least a multiplicity of said locations, which govern how said moveable member moves when moving to each said location; at least one part database for defining the objects to be moved by said system, including means for storing data defining for each said object at least one potential source location, and at least one parameter which specifies one of said primitive routines for use when moving said object; and at least one sequence database for specifying the sequence of tasks to be performed in said assembly sequence, including a multiplicity of records, each record storing data specifying an object in said part database, and a location in said location database to which said object is to be moved; and executing said primitive routines in a sequence and using parameters specified in corresponding ones of said databases; whereby the data in said databases collectively specify the operation of said moveable member. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
17. A robotic assembly system, comprising:
-
a moveable member for moving specified objects from specified source locations to specified destinations within a specified workcell; a set of predefined primitive routines for controlling the operation of said moveable member in accordance with specified parameters; a set of interrelated databases for storing data defining a robotic assembly sequence, distinct ones of said databases separately storing data denoting a sequence of tasks to be performed by said moveable member, and parameter values for said primitive routines defining how each said task is to be performed; movement directing means, coupled to said primitive routines and said interrelated databases, for reading the data stored in said interrelated databases and for executing said primitive routines in a sequence and using parameters specified in corresponding ones of said databases; whereby the data in said databases collectively specify the operation of said moveable member. - View Dependent Claims (18, 19)
-
-
20. A method of defining a robotic assembly sequence to be performed by a robotic assembly system having a moveable member for moving specified objects from specified source locations to specified destinations within a specified workcell, the steps of the method comprising:
-
providing a predefined set of primitive routines for controlling the operation of said moveable member in accordance with specified parameters; storing in a set of separate, interrelated databases, data denoting a sequence of assembly tasks and parameter values defining how each said task is to be performed; and providing assembly execution means for executing said primitive routines in a sequence and using parameters specified by the data stored in corresponding ones of said databases; whereby the data in said databases collectively specify the operation of said moveable member. - View Dependent Claims (21)
-
Specification