DE102012103830A1 - Method for preventing deadlock of a pair of robots in multi-robot system, involves avoiding deadlock condition during execution of programs by automatically determining and executing deadlock-free motion statement - Google Patents
Method for preventing deadlock of a pair of robots in multi-robot system, involves avoiding deadlock condition during execution of programs by automatically determining and executing deadlock-free motion statement Download PDFInfo
- Publication number
- DE102012103830A1 DE102012103830A1 DE102012103830A DE102012103830A DE102012103830A1 DE 102012103830 A1 DE102012103830 A1 DE 102012103830A1 DE 102012103830 A DE102012103830 A DE 102012103830A DE 102012103830 A DE102012103830 A DE 102012103830A DE 102012103830 A1 DE102012103830 A1 DE 102012103830A1
- Authority
- DE
- Germany
- Prior art keywords
- robots
- programs
- mutual
- robot
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39082—Collision, real time collision avoidance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39083—Robot interference, between two robot arms
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40442—Voxel map, 3-D grid map
Abstract
Description
QUERVERWEIS AUF ZUGEORDNETE ANMELDUNGCROSS-REFERENCE TO APPROPRIATE REGISTRATION
Diese Anmeldung ist ein Antrag auf Teilweiterbehandlung der am 21. Mai 2008 eingereichten, anhängigen US-Patentanmeldung, Serien-Nr. 12/124 430.This application is a request for partial further handling of pending US Patent Application Serial No. 21 May 2008 filed. 12/124 430.
Diese Anmeldung erhebt den Anspruch auf den Nutzen der am 5. Mai 2011 eingereichten, vorläufigen US-Patentanmeldung, Serien-Nr. 61/482 808.This application claims the benefit of US Provisional Patent Application Serial No. 5, filed May 5, 2011. 61/482 808.
GEBIET DER ERFINDUNGFIELD OF THE INVENTION
Die vorliegende Erfindung betrifft im Allgemeinen ein System zur Steuerung einer Vielzahl von Robotern und ein Verfahren, um die Vermeidung von Bewegungsstörungen für die Vielzahl von Robotern zu steuern.The present invention generally relates to a system for controlling a plurality of robots and a method for controlling the avoidance of movement disturbances for the plurality of robots.
HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
Bewegung von Gegenständen im Raum ist eine notwendige Aufgabe in einer typischen Fertigungsumgebung. Robotertechnik ist zunehmend eingesetzt worden, um die notwendige Bewegung zu bewirken. Wenn jedoch mehrere Gegenstände bewegt werden, besteht ein Potential zur störenden Beeinflussung zwischen diesen Gegenständen. Eine Störung besteht, wenn die mindestens zwei Gegenstände zur gleichen Zeit den gleichen Raum teilen, wie beispielsweise, wenn die Gegenstände in Bezug auf einen gemeinsamen Bezugsrahmen die gleichen Koordinaten besitzen.Moving objects in space is a necessary task in a typical manufacturing environment. Robotics has been increasingly used to effect the necessary movement. However, if several objects are moved, there is a potential for interfering with these objects. A disturbance exists when the at least two objects share the same space at the same time, such as when the objects have the same coordinates with respect to a common frame of reference.
Weil sich moderne Industrieroboter mit beträchtlichen Geschwindigkeiten bewegen, können Störungen zwischen Robotern einen Zusammenstoß und eine unerwünschte Beschädigung an diesen und den durch die Roboter beförderten Werkstücken zur Folge haben. Die Zusammenstösse können zu einer teuren Ausfallzeit im Fertigungsprozess führen. Folglich ist es wünschenswert, solche Zusammenstösse zu vermeiden.Because modern industrial robots move at considerable speeds, interference between robots can result in collision and unwanted damage to them and the workpieces carried by the robots. The collisions can lead to expensive downtime in the manufacturing process. Consequently, it is desirable to avoid such collisions.
Es wurden Systeme und Verfahren des Standes der Technik bei dem Versuch verwendet, störende Beeinflussungen und Zusammenstösse zu minimieren. Es gibt jedoch mehrere Mängel der Systeme und Verfahren des Standes der Technik. Es ist typisch, dass ein Werkzeugarbeitspunkt (TCP) nur in Bezug auf einen vorbestimmten Störungsbereich oder „statischen Raum” geprüft wird. Bei Mehrfachrobotern ist es schwierig, deren Zusammenstoß oder Störung direkt oder effektiv zu verhindern. Ferner ist es schwierig, einen Störungsraum bezüglich eines ruhenden Koordinatensystems für mehrere, sich bewegende Roboter zu spezifizieren. Jeder Störungsraum ist nicht nur eine Funktion der Bewegungsstrecke des Roboters, sondern auch eine Funktion der Bewegungsgeschwindigkeit. Schwierigkeiten bestehen außerdem bei dem Versuch, eine Situation gegenseitiger Blockierung zu handhaben, wenn zwei oder mehrere Roboter anfordern, sich gleichzeitig zu einem gemeinsamen Raum zu bewegen.Prior art systems and methods have been used in attempting to minimize interfering influences and collisions. However, there are several deficiencies in the systems and methods of the prior art. It is typical that a tool working point (TCP) is checked only with respect to a predetermined disturbance area or "static space". With multiple robots, it is difficult to directly or effectively prevent their collision or interference. Further, it is difficult to specify a trouble space with respect to a resting coordinate system for a plurality of moving robots. Each disturbance space is not only a function of the moving distance of the robot, but also a function of the movement speed. Difficulties also exist in attempting to handle a blockage situation when two or more robots request to move simultaneously to a common space.
Systeme des Standes der Technik versuchen außerdem zu verhindern, dass ein TCP für einen Roboter in einem festgelegten Raum bezüglich seines Weltkoordinatensystem kollidiert. Wenn sich Mehrfachroboter (mit mehreren Steuereinheiten) einen gemeinsamen Raum oder „Störungsraum” während einer Aufgabenausführung teilen, muss jede Steuereinheit warten, bis sich kein Roboter in den gemeinsamen Räumen befindet. Dann kann die Steuereinheit die Befehle zur Bewegungssteuerung ausgeben, damit sich der Roboter bewegen kann. Dieser Prozess wird auch „Warte-und-Bewege-Prozess” genannt, der im Allgemeinen die Zeit eines Arbeitszyklus erhöht. Es ist jedoch schwierig, einen Störungsraum im Vergleich zu einem festen Koordinatensystem effektiv festzulegen, weil der Störungsraum nicht nur die Funktion der Bewegungsstrecke, sondern auch der Bewegungsgeschwindigkeit des Roboters ist. Wenn mehr als ein Roboter anfordert, sich gleichzeitig zu einem gemeinsamen Raum zu bewegen, wird eine Situation gegenseitiger Blockierung erzeugt, in der sich keiner der Roboter bewegen kann, weil sie aufeinander warten.Prior art systems also attempt to prevent a TCP from colliding with a robot in a fixed space with respect to its world coordinate system. If multiple robots (with multiple controllers) share a common room or "trouble room" during a task execution, each control unit must wait until there is no robot in the common spaces. Then, the control unit can output the motion control commands for the robot to move. This process is also called a "wait-and-go process," which generally increases the time of a work cycle. However, it is difficult to effectively set a trouble space as compared with a fixed coordinate system because the trouble space is not only the function of the moving distance but also the moving speed of the robot. When more than one robot requests to move simultaneously to a common space, a situation of mutual blocking is created in which none of the robots can move because they are waiting for each other.
Bei Systemen des Standes der Technik wird auch versucht, den Roboter durch Kugeln und Zylinder zu modellieren. Diese Systeme schreiben eine künftige Örtlichkeit des Roboters während einer Bewegung in Echtzeit vor. Weil diese Systeme den von dem Roboter über die Zeit besetzten Raum nicht über die Zeit bestimmen, müssen diese Systeme während der Roboterbewegung ständig einen Vergleich durchführen. Diese Systeme vergleichen Element für Element der Modelle aller Roboter in der Bearbeitungskammer. Dieser Vergleich ist rechnerisch sehr kostspielig, und die Kosten wachsen potenziell wie die Anzahl von Robotern und Elementen zunimmt, die verwendet werden, um einen Roboter und maschinelle Ausrüstungen zu modellieren. Weil der Vergleich in Echtzeit vorgenommen wird, wenn ein unmittelbar bevorstehender Zusammenstoß detektiert wird, müssen diese Systeme normalerweise alle von dem bevorstehenden Zusammenstoß betroffenen Roboter anhalten, und es muss ein automatischer programmierter Arbeitsgang eingestellt werden. Diese Systeme werden schwieriger, wenn die Roboter auf unterschiedlichen Steuereinheiten liegen, weil sie große, zwischen Steuereinheiten in Echtzeit zu übertragende Informationsmengen erforderlich machen. Systeme des Standes der Technik versuchen auch zur Verhinderung von störender Beeinflussung, einen Eingabe-Ausgabe-Quittungsbetrieb zu nutzen. In der vorliegenden Erfindung besteht kein Bedarf an speicherprogrammierbarer Eingabe-Ausgabe-Steuerung.In prior art systems, it is also attempted to model the robot by bullets and cylinders. These systems dictate a future location of the robot during real-time motion. Because these systems do not determine the space occupied by the robot over time, these systems must constantly compare during robot movement. These systems compare element by element the models of all robots in the processing chamber. This comparison is computationally very costly and the cost potentially increases as the number of robots and elements used to model a robot and machine equipments increases. Because the comparison is made in real time when an imminent collision is detected, these systems must normally stop all robots affected by the impending collision, and an automatic programmed operation must be set. These systems become more difficult when the robots are on different control units because they require large amounts of information to be transferred between controllers in real time. Prior art systems have also attempted to prevent input disturbance from interfering with Receipt operation to use. There is no need for memory programmable input-output control in the present invention.
Ein bekanntes System und Verfahren ist in der anhängigen Internationalen Anmeldung Nr. PCT/US2007/066638 des Rechtsnachfolgers offenbart, die hier durch Bezug in ihrer Gesamtheit einbezogen ist. Das System und das Verfahren umfassen ein „dynamisches Raumprüfsystem”, bei dem die Effizienz einer Roboteroperation maximiert und ein Potenzial für störende Beeinflussung oder Zusammenstoß von mehreren Robotern minimiert wird. Durch jede Steuereinheit gesteuerte Roboter arbeiten nur auf einem benutzerdefinierten, dynamischen Raum, womit ein Zusammenstoß vermieden wird. Jedoch schützt das dynamische Raumprüfsystem einen TCP im Allgemeinen nur gegen einen benutzerdefinierten, geradlinigen Raum.One known system and method is disclosed in co-pending International Application No. PCT / US2007 / 066638 of the assignee, which is incorporated herein by reference in its entirety. The system and method include a "dynamic space inspection system" in which the efficiency of a robotic operation is maximized and a potential for interfering or colliding multiple robots is minimized. Robots controlled by each control unit only operate on a user-defined, dynamic space, thus avoiding a collision. However, the dynamic space checking system generally protects TCP only against a user-defined, straight-line space.
Von einem weiteren bekannten Verfahren zur Vermeidung von Roboterzusammenstössen wird in dem Pollack et al. erteilten
Ein weiteres bekanntes Verfahren zum Erkennen eines Zusammenstoßes zwischen einem Roboter und einem oder mehreren Hindernissen, bevor er sich ereignet, wird in dem Greenspan et al. erteilten
Es besteht fortgesetzter Bedarf an einem System und einem Verfahren, um die Vermeidung einer Bewegungsstörung für eine Vielzahl von Robotern zu steuern. Es ist wünschenswert, dass das System und das Verfahren eine dreidimensionale Erkennung eines Zusammenstoßes in Echtzeit, Übertragung von Roboterbewegungen auf das Robotersystem im Voraus, eine Reservierung programmierter Bahnen ohne Zusammenstoß und den Schutz von kritischen Prozesswegen zur Verfügung stellt.There is a continuing need for a system and method for controlling the prevention of motion disturbance for a plurality of robots. It is desirable that the system and method provide three-dimensional real-time collision detection, advance robotic motion transmission to the robotic system, reservation of programmed pathways without collision and protection of critical process paths.
Bedingungen von gegenseitiger Blockierung treten auf, wenn die Programme oder Aufgaben sich in einem solchen Zustand befinden, dass eine fortgesetzte, aufeinander folgende Ausführung eines beliebigen der Programme oder Aufgaben zu einer gegenseitigen Beeinflussung zwischen einem oder mehreren Robotern, die den Programmen oder Aufgaben zugeordnet sind, führen wird und dass es kein Programm oder keine Aufgabe gibt, die in der aufeinander folgenden Art und Weise ohne gegenseitige Beeinflussung fortschreiten können.Conditions of mutual blocking occur when the programs or tasks are in such a state that continued, sequential execution of any one of the programs or tasks results in interference between one or more robots associated with the programs or tasks. and that there is no program or task that can progress in a sequential manner without mutual interference.
Das Chaffee et al. erteilte
Die US-Patentanmeldung, Veröffentlichungs-Nr. 2009/0326711 für Chang et al. beschreibt ein Verfahren zur Verwendung von Automatikbereichen, um eine gegenseitige Blockierung entweder automatisch oder manuell zu vermeiden. Chang schlägt ein Verfahren zur Verwendung von Prioritätswerten vor, um gegenseitige Blockierung zu verhindern. Chang schlägt kein Verfahren zur Verhinderung von gegenseitiger Blockierung vor, bei dem Prioritätswerte nicht verwendet werden.US patent application, publication no. 2009/0326711 for Chang et al. describes a method of using automatic ranges to avoid deadlock either automatically or manually. Chang proposes a method of using priority values to prevent mutual blocking. Chang does not suggest a method of preventing mutual blocking that does not use priority values.
ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION
In Übereinstimmung mit der gegenwärtigen Offenlegung ist überraschend ein System und ein Verfahren zur Steuerung einer Verhinderung von Bewegungsstörung für eine Vielzahl von Robotern herausgefunden worden, wobei System und Verfahren eine dreidimensionale Kollisionserkennung in Echtzeit, Übertragung von Roboterbewegungen zum Robotersystem im Voraus, eine Reservierung von programmierten Bahnen ohne Zusammenstoß und den Schutz von entscheidenden Prozesswegen bereitstellt, ohne den Mechanismus eines Eingabe-Ausgabe-Quittungsbetriebs zu nutzen.In accordance with the present disclosure, surprisingly, a system and method for controlling motion disorder prevention for a plurality of robots has been found, the system and method providing real-time three-dimensional collision detection, robot motion in advance to robotic system, reservation of programmed paths without collision and the protection of crucial process paths without using the mechanism of an input-output acknowledge operation.
In einer Ausführungsform gibt es ein Verfahren zur Verhinderung von gegenseitiger Blockierung eines Paares von Robotern, die einen gemeinsamen Arbeitsbereich aufweisen, bei der jeder der Roboter durch ein zugeordnetes Programm gesteuert wird, wobei, wenn die Programme gleichzeitig ausgeführt werden, jeder der Roboter zumindest einen Abschnitt des gemeinsamen Arbeitsbereichs während eines Teils der Ausführung des zugeordneten Programms besetzt, wobei das Verfahren die Schritte umfasst: während gleichzeitiger Ausführung der Programme, Kennzeichnen von Abschnitten des gemeinsamen Arbeitsbereiches, der von den Robotern eingenommen wird; Kennzeichnen zumindest eines Störungsbereiches, bei dem sich die Abschnitte des gemeinsamen Arbeitsbereiches überdecken; Analysieren des zumindest einen Störungsbereichs und Kennzeichnen, wo zumindest eine Bedingung gegenseitiger Blockierung der zwei Roboter auftreten kann; und Vermeiden der zumindest einen Bedingung gegenseitiger Blockierung während einer Ausführung der Programme durch das automatische Bestimmen und Ausführen zumindest einer Anweisung einer von gegenseitiger Blockierung freien Bewegung vor Ausführung einer beliebigen Bewegung der Roboter, was in der zumindest einen Bedingung gegenseitiger Blockierung resultiert.In one embodiment, there is a method for preventing mutual blocking of a pair of robots having a common work area in which each of the robots is controlled by an associated program, wherein if the programs are executed simultaneously, each of the robots has at least a portion of the shared work area during part of the execution of the associated program, the method comprising the steps of: while concurrently executing the programs, identifying portions of the shared work area occupied by the robots; Marking at least one fault area in which the portions of the common work area overlap; Analyzing the at least one fault area and identifying where at least one condition of mutual blockage of the two robots may occur; and avoiding the at least one condition of mutual blocking during execution of the programs by automatically determining and executing at least one instruction of mutual blocking free movement prior to performing any movement of the robots, resulting in the at least one mutual blocking condition.
In einer weiteren Ausführungsform gibt es computerlesbare Medien, die Anweisungen enthalten, die von einem Computer ausführbar sind, um ein Verfahren zur Verhinderung von gegenseitiger Blockierung eines Paars von Robotern, die einen gemeinsamen Arbeitsbereich besitzen, durchzuführen, wobei jeder der Roboter durch ein zugeordnetes Programm gesteuert wird, bei dem jeder der Roboter zumindest einen Teil des gemeinsamen Arbeitsbereiches während eines Ausführungsabschnitts des zugeordneten Programms besetzt, wenn die Programme gleichzeitig ausgeführt werden, wobei das Verfahren umfasst: während gleichzeitiger Ausführung der Programme, die Anweisungen, die Abschnitte des gemeinsamen, durch die Roboter besetzten Arbeitsbereiches kennzeichnen; die Anweisungen, die zumindest einen Störungsbereich, in dem sich die Abschnitte des gemeinsamen Arbeitsbereiches überdecken, kennzeichnen; die Anweisungen, die den zumindest einen Störungsbereich analysieren und die kennzeichnen, wo zumindest eine Bedingung von gegenseitiger Blockierung der zwei Roboter auftreten kann; und die Anweisungen, die die zumindest eine Bedingung gegenseitiger Blockierung bei einer Ausführung der Programme verhindern, indem zumindest eine Anweisung einer von gegenseitiger Blockierung freien Bewegung vor Ausführung einer beliebigen Bewegung der Roboter automatisch bestimmt und ausgeführt wird, was in der mindestens einen Bedingung gegenseitiger Blockierung resultiert.In another embodiment, there are computer readable media containing instructions executable by a computer to perform a method of preventing mutual blocking of a pair of robots having a shared workspace, each of the robots being controlled by an associated program in which each of the robots occupies at least a portion of the shared work area during an execution portion of the associated program when the programs are concurrently executed, the method comprising: while concurrently executing the programs, the instructions, the portions of the common, by the robots marked occupied work area; the instructions identifying at least one region of disturbance in which the portions of the common work area overlap; the instructions that analyze the at least one fault area and identify where at least one condition of mutual locking of the two robots may occur; and the instructions that prevent the at least one mutual blocking condition from executing the programs by automatically determining and executing at least one mutual blocking free movement instruction prior to executing any movement of the robots, resulting in the at least one mutual blocking condition ,
In einer weiteren Ausführungsform gibt es ein Verfahren zur Verhinderung von gegenseitiger Blockierung einer Vielzahl von Robotern, die einen gemeinsamen Arbeitsbereich besitzen, jeder der Roboter durch ein zugeordnetes Programm gesteuert wird, wobei, wenn die Programme gleichzeitig ausgeführt werden, jeder der Roboter zumindest einen Teil des gemeinsamen Arbeitsbereiches während eines Teils der Ausführung des zugeordneten Programms besetzt, wobei das Verfahren die Schritte umfasst: während gleichzeitiger Ausführung der Programme, Kennzeichnen von Teilen des durch die Roboter besetzten, gemeinsamen Arbeitsbereiches; Kennzeichnen von zumindest einem Störungsbereich, wobei sich die Abschnitte des gemeinsamen Arbeitsbereiches für zumindest zwei der Roboter überdecken; Analysieren des zumindest einen Störungsbereiches und Kennzeichnen, wo zumindest eine Bedingung gegenseitiger Blockierung der zumindest zwei Roboter auftreten kann; und Vermeiden der zumindest einen Bedingung von gegenseitiger Blockierung während einer Ausführung der Programme, indem zumindest eine Anweisung einer von gegenseitiger Blockierung freien Bewegung vor Ausführung einer beliebigen Bewegung der mindestens zwei Roboter automatisch bestimmt und ausgeführt wird, was in der zumindest einen Bedingung von gegenseitiger Blockierung resultiert.In another embodiment, there is a method for preventing mutual blocking of a plurality of robots having a common work area, each of the robots being controlled by an associated program, wherein, when the programs are executed simultaneously, each of the robots comprises at least a portion of the robot shared work area during a portion of the execution of the associated program, the method comprising the steps of: while simultaneously executing the programs, identifying portions of the shared work area occupied by the robots; Characterizing at least one fault area, wherein the portions of the common work area overlap for at least two of the robots; Analyzing the at least one fault area and identifying where at least one condition of mutual blockage of the at least two robots may occur; and avoiding the at least one condition of mutual blocking during execution of the programs by automatically determining and executing at least one mutual blocking free movement instruction prior to performing any movement of the at least two robots, resulting in the at least one condition of mutual blocking ,
Das erfindungsgemäße System und das Verfahren erfordern keinen vorher bekannten, von gegenseitiger Blockierung freien Ablauf. Dieses System und dieses Verfahren werden die potenziellen Bedingungen von gegenseitiger Blockierung automatisch bestimmen und eine Möglichkeit erkennen, um diese Bedingungen zu vermeiden. Dieses System und dieses Verfahren erfordern keine Prioritätswerte, um eine gegenseitige Blockierung zu verhindern. Dieses System und dieses Verfahren verhindern Störungsbedingungen und verhindern gleichzeitig die Möglichkeit, dass Bedingungen von gegenseitiger Blockierung vorhanden sind.The system and method of the present invention do not require a previously known free-from-blockage process. This system and method will automatically determine the potential conditions of deadlock and recognize a possibility to avoid these conditions. This system and method does not require priority values to prevent mutual blocking. This system and method avoids interference conditions while avoiding the possibility of conditions of mutual blockage.
BESCHREIBUNG DER ZEICHNUNGENDESCRIPTION OF THE DRAWINGS
Die oben erwähnten sowie andere Vorteile der vorliegenden Erfindung erschließen sich dem Fachmann bei Betrachtung ohne weiteres aus der folgenden ausführlichen Beschreibung einer bevorzugten Ausführungsform angesichts der begleitenden Zeichnungen, in denen:The above-mentioned as well as other advantages of the present invention will become apparent to those skilled in the art upon consideration of the following detailed description of a preferred embodiment given the accompanying drawings, in which:
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMDESCRIPTION OF THE PREFERRED EMBODIMENT
Die folgende Beschreibung ist nur beispielhaft, und es ist nicht beabsichtigt, die vorliegende Offenlegung, Anmeldung oder Verwendungen zu beschränken. Es soll verständlich werden, dass durchweg in den Zeichnungen entsprechende Bezugszahlen auch gleiche oder entsprechende Teile und Merkmale angeben. Bezüglich der offen gelegten Verfahren sind die dargestellten Schritte beispielhaft und sind somit nicht zwangsläufig oder entscheidend.The following description is exemplary only and is not intended to limit the present disclosure, application, or uses. It should be understood that throughout the drawings, like reference numerals indicate like or corresponding parts and features. With regard to the disclosed methods, the illustrated steps are exemplary and thus not necessarily or decisively.
Das Robotersystem
Der erste Roboter
Die ersten und zweiten Roboter
Das Robotersystem
Eine beispielhafte Anweisungsfolge gemäß der vorliegenden Offenlegung ist in
Als ein nicht einschränkendes Beispiel können der erste Bestimmungsschritt
Als Reaktion auf das Vorhandensein der Überdeckung
Die ersten und zweiten Bestimmungsschritte
Mit Bezug auf
Mit Bezug jetzt auf
Der gewöhnliche Fachmann soll verstehen, dass die voxelierten Kugeln
In einer anderen Ausführungsform kann die voxelierte Kugel
Die voxelierte Kugel
Der voxelierte Zylinder
Ein alternatives Verfahren zum Approximieren des voxelierten Zylinders
Voxelierung kann entsprechend auch von einer beliebigen willkürlichen CAD-Oberfläche oder Volumen, welche Roboter, Arm-Dressout und Werkzeugbestückung darstellen können, bestimmt werden.Accordingly, voxelation can also be determined from any arbitrary CAD surface or volume, which may represent robots, arm dressouts, and tooling.
Voxelierung ist ein sehr effizientes Verfahren zum Darstellen des von einem Roboterbewegungssegment eingenommenen Raumes. Der Voxelierungsvorgang weist eine ganze Menge Befehlsverarbeitungszeit auf, um den voxelierten Raum zu erzeugen, jedoch ist die Laufzeitkomponente sehr effizient. Sobald ein Raum voxeliert ist, ist die maximale Speicheranforderung eines voxelierten Raumes fixiert, ungeachtet dessen, wie komplex oder wie sehr der gemeinsame Raum während der Bewegungsstrecke durch den Roboter besetzt ist. Die Laufzeitprüfung für Störung zwischen voxelierten Räumen ist sehr effizient. Obwohl die bevorzugte Ausführungsform dafür sorgt, dass Automatikbereiche mit Störungsprüfung durch voxelierte Bereiche darzustellen sind, kann jedes Verfahren der Volumen- oder Oberflächendarstellung des Raumes, der während einer Bewegungsstrecke von einem Roboter besetzt ist, verwendet werden.Voxelization is a very efficient method of representing the space occupied by a robot motion segment. The voxelization process has a good deal of instruction processing time to produce the voxelated space, but the runtime component is very efficient. Once a space is voxulated, the maximum storage requirement of a voxelated space is fixed, no matter how complex or how much the common space is occupied by the robot during the travel distance. The runtime test for interference between voxelated spaces is very efficient. Although the preferred embodiment provides for displaying automatic areas with perturbation inspection through voxelled areas, any method of volume or surface representation of the space occupied by a robot during a travel distance may be used.
In weiteren Ausführungsformen wird Kollision während einer programmierten Bewegung, einer durch Tippbetrieb ausgelösten Bewegung oder einer durch andere Mittel ausgelösten Bewegung vermieden. Sie schützen einen beweglichen Roboter auch davor, dass er mit einem stationären Roboter oder mit anderen feststehenden Gegenständen oder anderen festgelegten Bereichen in der Bearbeitungskammer zusammenstößt. Für eine programmierte Bewegung kann der Voxelierungsvorgang oder ein anderer Modellierungsvorgang zur Störungsprüfung von Automatikbereichen rechnerunabhängig arbeitend oder während eines Testlaufs stattfinden und die voxelierten Daten zur späteren Wiederauffindung effizient gespeichert werden. Dieser Vorgang kann auch in Echtzeit auftreten, wenn eine neue Bewegungsstrecke wie von einem neuen Programm, Tippbetrieb des Roboters oder von einer durch andere Mittel ausgelösten Bewegung bestimmt ist. Für diese Fälle kann der Ablauf von Anweisungen durch Verwendung einer Lehrvorrichtung oder durch die anderen Mittel, die die Bewegung auslösen, festgelegt werden. Es wird nicht zugelassen, dass die tatsächliche Bewegung beginnt, bis der Vorgang abgeschlossen ist und es keine Störung mit diesem Störungsprüfungs-Automatikbereich und anderen besetzten Störungsprüfungs-Automatikbereichen gibt.In other embodiments, collision is avoided during a programmed movement, a jogged motion, or other movement initiated motion. They also protect a moving robot from colliding with a stationary robot or with other stationary objects or other fixed areas in the processing chamber. For programmed motion, the voxelization process or other modeling process for fault checking of automatic regions may be computer-independent or during a test run, and the voxelated data may be efficiently stored for later retrieval. This process can also occur in real time when a new moving distance is determined, such as from a new program, robot jogging, or other means-triggered movement. For these cases, the flow of instructions may be determined by using a teaching device or by the other means that initiate the movement. It is not allowed that the actual movement starts until the process is completed and there is no interference with this Fault Check Automatic Area and other occupied Fault Check Automatic areas.
In weiteren Ausführungsformen kann der erste Abschnitt
Das Verfahren
Der geübte Handwerker soll erkennen, dass beim Bestimmen, ob zwischen dem ersten Abschnitt
In einer weiteren Ausführungsform umfasst das Verfahren
Es soll deutlich werden, dass das Störungsprüfsystem
Ein gewöhnlicher Fachmann soll außerdem erkennen, dass der Einsatz von voxelierten Kugeln
Das System
Die Störungsverhinderung und Verhinderung von gegenseitiger Blockierung stehen in enger Beziehung. Störung tritt auf, wenn zwei Roboter versuchen, den gleichen physikalischen Raum zu besetzen. Ein Verfahren der Störungsverhinderung umfasst das Prüfen des Raumes, der bei dem augenblicklichen Bewegungsbefehl von allen Robotern eingenommen ist oder eingenommen wird sowie das Anhalten von einem oder mehreren Robotern bevor die Störung auftritt. Diese Art von Störungsverhinderung hat den hauptsächlichen Vorteil, dass sie sehr anfällig für gegenseitige Blockierung ist, wenn einer oder mehrere der angehaltenen Roboter zur Zeit den Raum besetzt, der durch einen anderen Roboter benötigt wird oder benötigt werden wird, und der angehaltene Roboter nicht fortschreiten kann, weil er durch einen anderen Roboter weiter blockiert wird.The prevention of interference and the prevention of mutual blocking are closely related. Disruption occurs when two robots try to occupy the same physical space. One method of interference prevention involves checking the space taken or taken at the instantaneous move command from all robots, and stopping one or more robots before the disturbance occurs. This type of interference prevention has the major advantage that it is very susceptible to deadlock when one or more of the suspended robots is currently occupying the space needed or needed by another robot and the stopped robot can not progress because it is blocked by another robot.
Ein anderes Verfahren der Störungsverhinderung ist das manuelle Einrichten von Störungsbereichen, indem in die Roboterprogramme durch Programm Eintritts- und Austrittsbereichsbefehle eingesetzt werden. Diese Befehle würden mit einer speicherprogrammierbaren Steuerung oder anderen Robotern eine Kommunikation bewirken, die es erleichtert, dass nur ein Roboterarm einen speziellen Bereich zu einem Zeitpunkt einnehmen kann. Für einen einzelnen Bereich ist das von geringer Bedeutung. Das grundlegende Problem wäre eines von Priorität; wer würde den Bereich zuerst bekommen, wenn mehrere Roboter darauf warten, dass er verfügbar wird. Für mehrere Bereiche ist es jedoch sehr leicht, dass gegenseitige Blockierung auftritt. Zum Beispiel ist sie leicht für benachbarte Bereiche zu sehen, falls jeder Roboter zurzeit einen Bereich besetzt und die nächste Bewegung innerhalb des Bereiches ist, der von dem anderen Roboter eingenommen wird. In diesem Fall wird jeder Roboter ständig auf den anderen Roboter warten, um den gewünschten Bereich aufzugeben. Es wird ein Zustand gegenseitiger Blockierung auftretenAnother method of interference prevention is to manually set up fault areas by entering into the robot programs through program entry and exit area commands. These commands would effect communication with a programmable logic controller or other robots that would make it easy for only one robotic arm to occupy a particular area at a time. For a single area this is of little importance. The basic problem would be one of priority; who would get the area first if several robots are waiting for it to become available. For several areas, however, it is very easy for mutual blocking to occur. For example, it is easy to see for adjacent areas if each robot currently occupies one area and the next movement is within the area occupied by the other robot. In this case, each robot will constantly wait for the other robot to abandon the desired area. There will be a state of mutual blockage
Das System und Verfahren gemäß dieser Erfindung schließt den Zustand von gegenseitiger Blockierung in den oben genannten Fällen aus durch Festlegen der Anweisungen einer von gegenseitiger Blockierung freien Bewegung vor Ausführung der Bewegungen, die potenzielle Bedingungen einer gegenseitigen Blockierung aufweisen. Die Festlegung von Anweisungen einer von gegenseitiger Blockierung freien Bewegung kann rechnerunabhängig arbeitend, außerhalb einer normalen Ausführung oder während einer normalen Produktionsdurchführung vorgenommen werden. Wenn genügend Verarbeitungszeit der CPU verfügbar ist, bewirkt die Festlegung während einer normalen Produktionsdurchführung die größte Flexibilität, um auf dynamische Bedingungen wie beispielsweise Änderungen bei der zeitlichen Steuerung von Eingabe/Ausgabe oder der zeitlichen Steuerung von externen Ereignissen oder Abläufen zu reagieren. Zur minimalen Belastung der CPU wird die Festlegung rechnerunabhängig arbeitend vorgenommen, wobei viele Permutationen von Programmabläufen analysiert werden können und ein optimierter Ausführungsablauf gefunden werden kann.The system and method according to this invention excludes the state of deadlock in the above cases by setting the instructions of a blockage-free movement prior to performing the motions having potential conditions of mutual blockage. The determination of instructions of a blockage-free movement may be made independently of the computer, outside of normal execution, or during normal production execution. If enough CPU processing time is available, setting during normal production execution provides the most flexibility to respond to dynamic conditions such as changes in the timing of input / output or the timing of external events or operations. In order to minimize the load on the CPU, the definition is made independent of the computer, whereby many permutations of program sequences can be analyzed and an optimized execution sequence can be found.
Das erfindungsgemäße System und Verfahren erfordert keinen von gegenseitiger Blockierung freien Ablauf, der vorher bekannt ist. System und Verfahren werden automatisch die potenziellen Bedingungen von gegenseitiger Blockierung bestimmen und einen Weg zur Vermeidung dieser Bedingungen kennzeichnen. Das System und Verfahren benötigen keine Prioritätswerte, um gegenseitige Blockierung zu verhindern. Das System und Verfahren verhindern Bedingungen von Störung und gleichzeitig die Möglichkeit, dass Bedingungen einer gegenseitigen Blockierung existieren.The system and method of the present invention does not require a deadlock-free process previously known. System and procedures will automatically determine the potential conditions of mutual blocking and identify a way to avoid these conditions. The system and method do not require priority values to prevent deadlock. The system and method prevent conditions of disturbance and at the same time the possibility that mutual blocking conditions exist.
In
Wenn sich zum Beispiel Programm „A” auf Zeile 3 und Programm „B” auf Zeile 5 befindet, dann besteht die Bedingung einer gegenseitigen Blockierung, weil, wenn „A” versucht, sich zu der Zeile 4 zu bewegen, dann eine Störung mit „B” auf Zeile 5 vorhanden sein wird; und wenn „B” versucht, sich zu der Zeile 6 zu bewegen, dann eine Störung mit „A” auf Zeile 3 vorhanden sein wird. Daher kann kein Roboter fortschreiten. Durch Vervollständigung des Bereiches gegenseitiger Blockierung von den „A” Zeilen 3 bis 5 und „B” Zeilen 7 bis 4 kann nur ein Programm, „A” oder „B”, diesen Bereich gleichzeitig besetzen. Dies wird gekennzeichnet als Bereich [1] in den Beispielprogrammen, die als Auflistung
Das oben beschriebene System und Verfahren wird Programmanweisungen automatisch hinzufügen und/oder modifizieren, um sowohl Zusammenstöße zu verhindern als auch potenzielle gegenseitige Blockierungen durchzuleiten. In einigen Fällen kann der automatische Wartebefehl, der ausgegeben wird, bewirken, dass sich die gesamte Zykluszeit für eine gegebene Aufgabe erhöht. Wenn erhöhte Zykluszeit nicht akzeptabel ist, kann das erfindungsgemäße System und Verfahren erneut abzulaufende Strecken empfehlen oder automatisch erzeugen, die es den Robotern ermöglichen werden, die Programme ohne Unterbrechung zu durchlaufen. Mit anderen Worten, wenn es einen Abschnitt der Strecken gibt, wo zwei Roboter den gleichen Raum zum gleichen Zeitpunkt besetzen werden, wird das System und das Verfahren automatisch einen neuen Streckenablauf (das Schweißen der Punkte sich in einer anderen Reihenfolge vorstellen) empfehlen, so dass diese Bedingung ausgeschlossen wird. Dieses Merkmal, die Programmanweisungen erneut abzulaufen, besitzt Reserven zur Verwendung für Anwendungen der Autolackierung.The system and method described above will automatically add and / or modify program instructions to both prevent collisions and to pass potential deadlocks. In some cases, the automatic wait command that is issued may cause the total cycle time for a given task to increase. If increased cycle time is unacceptable, the system and method of the present invention may recommend or automatically generate recurring routes that will allow the robots to cycle through the programs without interruption. In other words, if there is a section of the routes where two robots will occupy the same space at the same time, the system and method will automatically recommend a new route sequence (welding the points in a different order) so that this condition is excluded. This feature of re-running the program instructions has reserves for use in car paint applications.
Wenn in dem Programm unverbindliche Ausführungsanweisungen auftreten, dann kann die Analyse alle Kombinationen einer Ablaufausführung enthalten. Oder es könnten die in den unverbindlichen Zweigbereichen enthaltenen Programmsegmente der Einfachheit halber als unabhängig behandelt werden. Typisch ist es, dass der Roboterprogrammierer solche unverbindlichen Bereiche zeigen wird, so dass die Eintritts- und Austrittsstrecken zu dem Bereich keine Störung mit anderen Robotern haben werden und somit die unabhängige Behandlung praktisch sein kann. Wenn jedoch die Eintritts- oder Austrittsstrecken zu den unverbindlichen Bereichen eine Störung mit anderen Robotern aufweisen, dann sollten die Mehrfachkombinationen der unverbindlichen und verbindlichen Bereiche analysiert werden, um keine Störung und keine gegenseitige Blockierung zu garantieren.If non-binding execution instructions occur in the program, then the analysis may contain all combinations of execution execution. Or, for simplicity, the program segments included in the non-binding branches could be treated as independent. Typically, the robot programmer will show such non-binding areas so that the entry and exit distances to the area will not interfere with other robots and thus the independent treatment may be convenient. However, if the entry or exit routes to the non-binding areas interfere with other robots, then the multiple combinations of non-binding and binding areas should be analyzed to ensure no interference and no deadlock.
Einer der Vorteile dieses Verfahren ist, dass der gleiche Mechanismus, der Bedingungen von gegenseitiger Blockierung ausschließen kann, auch eine Störung während einer normalen Programmbewegung ausschließen kann. So kann die Echtzeitprüfung einer Störung von Roboter zu Roboter während einer normalen Programmbewegung ausgeschlossen werden. Dies kann erhebliche Auslastung der CPU einsparen, was die Nutzung von Verarbeitungszeit für andere Zwecke wie beispielsweise eine schnellere Interpolationsrate oder kürzere Interpolationszeit ermöglicht. Bei Fehlerbedingungen oder wenn das Programm nicht läuft, könnte zur Verhinderung von Störung eine reduzierte CPU-Verwendung der Störungsprüfung, so wie es in der anhängigen US-Patentanmeldung, Serien-Nr. 12/124,430 mit dem Titel „Störungsprüfung eines mehrarmigen Robotersystems über dreidimensionale Automatikbereiche” vorgeschlagen ist, genutzt werden.One of the advantages of this method is that the same mechanism that can preclude conditions of mutual blocking can also preclude interference during normal program motion. Thus, the real-time inspection of a robot-to-robot disturbance during a normal program movement can be excluded. This can save significant CPU utilization, allowing the use of processing time for other purposes such as a faster interpolation rate or shorter interpolation time. In fault conditions or if the program is not running, a reduced CPU usage of the fault check, as disclosed in pending US patent application Ser. No. No. 12 / 124,430 entitled "Fault check of a multi-arm robotic system via three-dimensional automatic ranges".
Der von einem Programm besetzte Bereich kann eine Funktion des physikalischen Raums, von Zeit, Programmablauf, Zeilenzahl, Anteil an Beendigung eines Programms oder einer Zeile, oder eine auf den Roboter, das Programm oder System bezogene Zustandsänderung sein. Der Störungsbereich und der Bereich gegenseitiger Blockierung werden durch die gleiche Funktion korreliert, die den besetzten Raum definiert.The area occupied by a program may be a function of physical space, time, program flow, line count, rate of completion of a program or line, or state change related to the robot, program, or system. The perturbation area and the area of mutual blockage are correlated by the same function that defines the occupied space.
Die Art und Weise zur Vermeidung von gegenseitiger Blockierung kann auf mehreren Wegen gehandhabt werden. Der leichteste Weg ist es, die Störungsbereiche zu erweitern, so dass sie sowohl eine gegenseitige Blockierung als auch Störung gemäß
Es gibt mehrere Wege, wie der besetzte Raum bestimmt werden kann. Der einfachste Weg ist, dass der besetzte Raum rein der kumulative Raum ist, der von einem Roboter während der Programmausführung durchweg eingenommen wird. Wenn mehrere Roboter ihren besetzten Raum auf diese Weise bestimmen lassen, dann ist der Störungsbereich einfach der Raum, welcher der Schnittpunkt des kumulativen besetzten Raumes für jeden Roboter ist. Indem man nur einem Roboter ermöglicht, in diesen Raum zu einem Zeitpunkt einzutreten, wird sowohl Störung als auch gegenseitige Blockierung verhindert.There are several ways in which the occupied space can be determined. The simplest way is that the occupied space is purely the cumulative space that is consistently occupied by a robot during program execution. If several robots have their occupied space determined in this way, then the disturbance area is simply the space which is the intersection of the cumulative occupied space for each robot. Allowing only one robot to enter this space at a time prevents both interference and deadlock.
Eine weitere Möglichkeit ist, den besetzten Raum als eine Funktion der Zeit zu bestimmen. Zu jedem Zeitpunkt gibt es einen von jedem Roboter besetzten Raum. Durch Darstellung des besetzten Raums als Integration der Zeit über ein bestimmtes Intervall kann der besetzte Raum als eine Reihe von zeitkorrelierten diskreten Räumen dargestellt werden. Die Störungsbereiche sind die Schnittpunkte der Roboter zum gleichen Zeitpunkt oder Zeitintervall. Eine Störung kann vermieden werden, indem nur einem Roboter ermöglicht wird, jeweils in einem Störungsbereich zu sein. Weil sich die relative Zeit infolge der Ablaufsteuerung ändert, muss die Zeitbasis eingestellt werden, um die neue Zeit zu korrelieren, nachdem die Ablaufsteuerung angewandt worden ist.Another possibility is to determine the occupied space as a function of time. At any given moment, there is a room occupied by each robot. By representing the occupied space as integrating time over a particular interval, the occupied space can be represented as a series of time-correlated discrete spaces. The disturbance areas are the intersections of the robots at the same time or time interval. A disturbance can be avoided by allowing only one robot to be in a fault area at a time. Because the relative time changes due to scheduling, the time base must be set to correlate the new time after scheduling has been applied.
Für das obige zeitbasierte Verfahren kann die Zeit als eine Zeitintervallzahl dargestellt werden. Auf diese Weise wird die gesamte abgelaufene Zeit weniger wichtig, und der Störungsbereich kann als die Matrix von Intervallzahlen dargestellt werden. Wenn in einem spezifischen Intervallzustand eine Störung vorhanden ist, dann darf dieser Zustand nicht auftreten, weil in diesem Intervallzustand ein Zusammenstoß stattfinden kann.For the above time-based method, the time can be represented as a time interval number. In this way, the total elapsed time becomes less important and the disturbance area can be represented as the matrix of interval numbers. If there is a disturbance in a specific interval state, then this state must not occur because a collision may take place in this interval state.
Ähnlich kann der Programmablauf als Zeilenzahlen, dem Anteil am Ablauf, Programmzustand, usw. dargestellt werden. Für jede solche Ablaufdarstellung kann es eine definierte Störungsdarstellung als eine Funktion des gewählten Parameters geben. Das Ziel zur Vermeidung einer Störung ist es, die Zustände der Sammlung von Funktionen, wo eine Störung existiert, zu vermeiden. Für Funktionen, die als sequentielle diskrete Intervalle oder sequentielle Zustände dargestellt werden können, kann dies als eine Störungsmatrix gemäß
Eine Bestimmung von Zuständen wie Eingabe-Ausgabe-Zustände oder ein Prozess oder andere Zustände können zum Definieren der Bereiche verwendet werden. Solange die Zustände eine sequentielle Bedeutung haben oder definiert werden können, um eine mit Roboterposition und besetztem Raum verbundene sequentielle Aktivität darzustellen, können sie für die Parameterdarstellung der Bereiche von Störung und gegenseitiger Blockierung verwendet werden.Determination of states such as input-output states or a process or other states may be used to define the regions. As long as the states have a sequential meaning or can be defined to represent a sequential activity associated with robot position and occupied space, they can be used for the parameter representation of the regions of disturbance and mutual blockage.
Sobald die Störungsmatrix bestimmt worden ist, besteht ein Verfahren zur Verhinderung von gegenseitiger Blockierung darin, jede „Falle” der monotonen Erhöhung einer Ablaufzahl dort zu vermeiden, wo Störung eine vorwärtsgerichtete Folgesteuerung blockieren würde. Indem die Störungsmatrix ansteigend konvex gemacht wird, werden sowohl gegenseitige Blockierung als auch Störung vermieden. Die ansteigend konvexe Störungsmatrix kann als Matrix gegenseitiger Blockierung bezeichnet werden. Die Matrix gegenseitiger Blockierung enthält den Bereich von gegenseitiger Blockierung wie es in
Es gibt viele Mittel, um gegenseitige Blockierung und Störung zu vermeiden, sobald die Matrix gegenseitiger Blockierung bestimmt wurde. Das einfachste Mittel ist das Einfügen von Anweisungen im Programm zum Einstellen der zeitlichen Steuerung der Ausführung, womit der Bereich einer gegenseitigen Blockierung der Matrix gegenseitiger Blockierung vermieden wird. Das Hinzufügen von Anweisungen zum Programm besitzt den Vorteil, dass die genaue Beschaffenheit der zeitlichen Steuerung der Ausführung bestimmt werden kann, indem einfach das Programm betrachtet wird. Andere Mittel ermöglichen es, dass die zeitliche Steuerung außerhalb der aktuellen Programmmodifikation bestimmt wird.There are many ways to avoid mutual blocking and interference once the matrix of mutual blockage has been determined. The simplest means is to insert instructions in the execution timing control program, thus avoiding the area of mutual blockage of the interlocking matrix. The addition of instructions to the program has the advantage that the exact nature of the scheduling of the execution can be determined simply by looking at the program. Other means allow the timing to be determined outside the current program modification.
Die parametrische Definition der Bereiche von Störung und von gegenseitiger Blockierung stellt ein allgemeines Verfahren zum Vermeiden von Störung und gegenseitiger Blockierung bereit. Diese Darstellung der Bereiche ermöglicht eine verschiedenartige Programmsteuerung durch verschiedene Faktoren.The parametric definition of the regions of perturbation and mutual blocking provides a general method for avoiding perturbation and mutual blocking. This representation of the areas allows for a diverse program control by various factors.
Zur Reduzierung der CPU-Auslastung können die aktuellen Programme auch aktualisiert werden, um Bereichs- und Ablaufinformationen einzubeziehen, so dass alle erforderlichen Informationen zur Vermeidung von Bedingungen gegenseitiger Blockierung in den Programmen enthalten sind. Dies schließt die Notwendigkeit einer Echtzeitprüfung der Programmabläufe, Störungen und potenziellen Bedingungen von gegenseitiger Blockierung aus.To reduce CPU usage, the current programs may also be updated to include scope and expiration information, so that all necessary information to avoid mutual blocking conditions is included in the programs. This eliminates the need for a real-time check of the Program sequences, disruptions and potential conditions of mutual blocking.
Der Schritt
Während bestimmte typische Ausführungsformen und Einzelheiten zum Zweck der Darstellung der Erfindung gezeigt worden sind, erschließt sich dem Fachmann, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist der Offenlegung, die in den folgenden angefügten Ansprüchen weiter beschrieben wird, abzuweichen.While certain typical embodiments and details have been shown for the purpose of illustrating the invention, it will be apparent to those skilled in the art that various changes may be made without departing from the spirit of the disclosure which is further described in the following appended claims.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 5150452 [0010] US 5150452 [0010]
- US 5347459 [0011] US 5347459 [0011]
- US 7114157 [0014] US 7114157 [0014]
Claims (15)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161482808P | 2011-05-05 | 2011-05-05 | |
US61/482,808 | 2011-05-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012103830A1 true DE102012103830A1 (en) | 2012-11-08 |
DE102012103830B4 DE102012103830B4 (en) | 2022-05-25 |
Family
ID=47019755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102012103830.9A Active DE102012103830B4 (en) | 2011-05-05 | 2012-05-02 | Method and computer-readable media for automatic connection of deadlocks in multiple robot systems |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5981215B2 (en) |
CN (1) | CN102814813B (en) |
DE (1) | DE102012103830B4 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013015234A1 (en) * | 2013-09-13 | 2015-03-19 | Liebherr-Verzahntechnik Gmbh | Method for controlling a gear cutting machine and gear cutting machine |
EP2918378A1 (en) * | 2014-03-10 | 2015-09-16 | Tecan Trading AG | Process for finding a path in an automated handling system, and handling system with corresponding control module for finding a path |
DE102015007395A1 (en) * | 2015-06-08 | 2016-12-08 | Kuka Roboter Gmbh | Method and system for operating and / or monitoring a machine, in particular a robot |
JP2018134703A (en) * | 2017-02-21 | 2018-08-30 | 株式会社安川電機 | Robot simulator, robot system, and simulation method |
DE102017215268A1 (en) * | 2017-08-31 | 2019-02-28 | Siemens Aktiengesellschaft | Method for laser deposition welding |
DE102016013475B4 (en) | 2015-11-20 | 2019-10-02 | Fanuc Corporation | Manual feeder of a robot for calculating an operating range of a robot |
DE102018133472B3 (en) * | 2018-12-21 | 2020-03-12 | Franka Emika Gmbh | Motion monitoring of a robot manipulator |
DE102019102803A1 (en) * | 2019-02-05 | 2020-08-06 | Franka Emika Gmbh | Align two robot arms to each other |
US10766139B2 (en) | 2015-02-13 | 2020-09-08 | Abb Schweiz Ag | Method for avoiding collisions between two robots |
DE102019126465B4 (en) * | 2018-10-01 | 2021-02-11 | KBee AG | Method and device for determining trajectories for serial manipulators |
DE102020203636A1 (en) | 2020-03-20 | 2021-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Determination of safety areas around an automated machine |
DE102021204148B3 (en) | 2021-04-27 | 2022-06-23 | Kuka Deutschland Gmbh | Process and system for the coordinated traversing of specified robot paths |
DE102021105772B4 (en) | 2020-03-13 | 2022-06-23 | Omron Corporation | Interference determination apparatus and method |
DE102019118202B4 (en) | 2018-07-17 | 2022-11-03 | Fanuc Corporation | robotic system |
DE102021122606A1 (en) | 2021-09-01 | 2023-03-02 | Arburg Gmbh + Co Kg | Method, machine control and computer program product for determining a path for car navigation |
DE102019001970B4 (en) | 2018-03-27 | 2024-04-25 | Fanuc Corporation | Integrated simulation system with improved usability |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9550295B2 (en) * | 2013-02-06 | 2017-01-24 | Mitsubishi Electric Corporation | Interference check device |
JP5768829B2 (en) * | 2013-03-15 | 2015-08-26 | 株式会社安川電機 | Robot system, robot control method, and workpiece manufacturing method |
US9555545B2 (en) * | 2014-05-21 | 2017-01-31 | Bot & Dolly, Llc | Systems and methods for time-based parallel robotic operation |
US9707681B2 (en) * | 2015-07-27 | 2017-07-18 | Siemens Industry Software Ltd. | Anti-collision management of overlapping robotic movements |
US11305429B2 (en) * | 2015-10-13 | 2022-04-19 | ATENSOR Engineering and Technology Systems GmbH | Synchronization of multiple robots |
JP6654926B2 (en) * | 2016-02-24 | 2020-02-26 | 本田技研工業株式会社 | How to estimate processing time |
CN107797550A (en) * | 2016-09-01 | 2018-03-13 | 松下电器(美国)知识产权公司 | Autonomous formula robot, method and non-transient recording medium |
TWI822729B (en) * | 2018-02-06 | 2023-11-21 | 美商即時機器人股份有限公司 | Method and apparatus for motion planning of a robot storing a discretized environment on one or more processors and improved operation of same |
US11738457B2 (en) | 2018-03-21 | 2023-08-29 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
CN111354654B (en) * | 2018-12-20 | 2022-10-21 | 北京北方华创微电子装备有限公司 | Deadlock judgment method and semiconductor device |
CN109767118A (en) * | 2019-01-11 | 2019-05-17 | 沈阳建筑大学 | A kind of limited buffer dynamic capacity method for obligating in there is the bus body painting workshop that can reentry process |
CN112783145B (en) * | 2019-11-11 | 2023-03-31 | 上海快仓智能科技有限公司 | Traffic control method, device, equipment and computer readable storage medium |
CN117729988A (en) | 2021-08-06 | 2024-03-19 | 发那科株式会社 | Interference checking device |
KR102595007B1 (en) * | 2023-03-24 | 2023-10-27 | 주식회사 아임토리 | Mathod and Apparatus for Optimizing of Robot Process |
CN117381805B (en) * | 2023-12-13 | 2024-02-27 | 成都航空职业技术学院 | Mechanical arm operation control method and system for conflict handling |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150452A (en) | 1989-07-28 | 1992-09-22 | Megamation Incorporated | Method and apparatus for anti-collision and collision protection for multiple robot system |
US5347459A (en) | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
US7114157B2 (en) | 2001-11-27 | 2006-09-26 | Kuka Roboter Gmbh | System controlling exclusive access by control programs to system resources |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02257204A (en) * | 1989-03-29 | 1990-10-18 | Yaskawa Electric Mfg Co Ltd | Collision evasion control system for plural robot arms |
JPH04201081A (en) * | 1990-11-29 | 1992-07-22 | Honda Motor Co Ltd | Control unit for robot |
JPH05108129A (en) * | 1991-10-21 | 1993-04-30 | Nachi Fujikoshi Corp | Inter-robot interlock control method |
US5798627A (en) * | 1995-01-04 | 1998-08-25 | Gilliland; Malcolm T. | Method for simultaneous operation of robot welders |
US5548694A (en) | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Information Technology Center America, Inc. | Collision avoidance system for voxel-based object representation |
US6004016A (en) * | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
JPH11347984A (en) * | 1998-06-02 | 1999-12-21 | Nissan Motor Co Ltd | Robot control device |
JP2003103484A (en) * | 2001-09-28 | 2003-04-08 | Honda Motor Co Ltd | Interlock setting method for robot |
US6678582B2 (en) * | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
DE102004027944B4 (en) | 2004-06-08 | 2012-02-16 | Kuka Laboratories Gmbh | Method for protecting a robot against collisions |
JP2007000955A (en) * | 2005-06-22 | 2007-01-11 | Nachi Fujikoshi Corp | Robot system |
JP4544145B2 (en) * | 2005-11-24 | 2010-09-15 | 株式会社デンソーウェーブ | Robot interference avoidance method and robot |
JP4159577B2 (en) | 2005-12-13 | 2008-10-01 | ファナック株式会社 | Interlock automatic setting device and automatic setting method between a plurality of robots |
KR101089536B1 (en) * | 2006-06-06 | 2011-12-05 | 에이비비 리써치 리미티드 | Improved method and system for operating a cyclic production machine in coordination with a loader or unloader machine |
DE102008013400B4 (en) | 2008-03-06 | 2016-03-10 | Voith Engineering Services Gmbh | Method for determining locking areas of at least one first object movable in space |
US8315738B2 (en) * | 2008-05-21 | 2012-11-20 | Fanuc Robotics America, Inc. | Multi-arm robot system interference check via three dimensional automatic zones |
CN100570523C (en) * | 2008-08-18 | 2009-12-16 | 浙江大学 | A kind of mobile robot's barrier-avoiding method based on the barrier motion prediction |
JP2010240772A (en) * | 2009-04-06 | 2010-10-28 | Seiko Epson Corp | Device and method for controlling robot |
-
2012
- 2012-05-02 DE DE102012103830.9A patent/DE102012103830B4/en active Active
- 2012-05-02 JP JP2012105505A patent/JP5981215B2/en active Active
- 2012-05-04 CN CN201210203241.7A patent/CN102814813B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150452A (en) | 1989-07-28 | 1992-09-22 | Megamation Incorporated | Method and apparatus for anti-collision and collision protection for multiple robot system |
US5347459A (en) | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
US7114157B2 (en) | 2001-11-27 | 2006-09-26 | Kuka Roboter Gmbh | System controlling exclusive access by control programs to system resources |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983561B2 (en) | 2013-09-13 | 2018-05-29 | Liebherr-Verzahntechnik Gmbh | Method of controlling a gear cutting machine and gear cutting machine |
DE102013015234A1 (en) * | 2013-09-13 | 2015-03-19 | Liebherr-Verzahntechnik Gmbh | Method for controlling a gear cutting machine and gear cutting machine |
EP2918378A1 (en) * | 2014-03-10 | 2015-09-16 | Tecan Trading AG | Process for finding a path in an automated handling system, and handling system with corresponding control module for finding a path |
US10766139B2 (en) | 2015-02-13 | 2020-09-08 | Abb Schweiz Ag | Method for avoiding collisions between two robots |
DE102015007395A1 (en) * | 2015-06-08 | 2016-12-08 | Kuka Roboter Gmbh | Method and system for operating and / or monitoring a machine, in particular a robot |
US9999975B2 (en) | 2015-06-08 | 2018-06-19 | Kuka Deutschland Gmbh | Method and system for operating and/or monitoring a machine, in particular a robot |
DE102016013475B4 (en) | 2015-11-20 | 2019-10-02 | Fanuc Corporation | Manual feeder of a robot for calculating an operating range of a robot |
JP2018134703A (en) * | 2017-02-21 | 2018-08-30 | 株式会社安川電機 | Robot simulator, robot system, and simulation method |
US11213945B2 (en) | 2017-02-21 | 2022-01-04 | Kabushiki Kaisha Yaskawa Denki | Robot simulator, robot system and simulation method |
DE102017215268A1 (en) * | 2017-08-31 | 2019-02-28 | Siemens Aktiengesellschaft | Method for laser deposition welding |
DE102019001970B4 (en) | 2018-03-27 | 2024-04-25 | Fanuc Corporation | Integrated simulation system with improved usability |
DE102019118202B4 (en) | 2018-07-17 | 2022-11-03 | Fanuc Corporation | robotic system |
DE102019126465B4 (en) * | 2018-10-01 | 2021-02-11 | KBee AG | Method and device for determining trajectories for serial manipulators |
DE102018133472B3 (en) * | 2018-12-21 | 2020-03-12 | Franka Emika Gmbh | Motion monitoring of a robot manipulator |
DE102019102803B4 (en) | 2019-02-05 | 2022-02-17 | Franka Emika Gmbh | Aligning two robotic arms to each other |
DE102019102803A1 (en) * | 2019-02-05 | 2020-08-06 | Franka Emika Gmbh | Align two robot arms to each other |
DE102021105772B4 (en) | 2020-03-13 | 2022-06-23 | Omron Corporation | Interference determination apparatus and method |
US11597090B2 (en) | 2020-03-13 | 2023-03-07 | Omron Corporation | Interference determination device and method |
DE102020203636A1 (en) | 2020-03-20 | 2021-09-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Determination of safety areas around an automated machine |
DE102021204148B3 (en) | 2021-04-27 | 2022-06-23 | Kuka Deutschland Gmbh | Process and system for the coordinated traversing of specified robot paths |
DE102021122606A1 (en) | 2021-09-01 | 2023-03-02 | Arburg Gmbh + Co Kg | Method, machine control and computer program product for determining a path for car navigation |
WO2023031320A1 (en) | 2021-09-01 | 2023-03-09 | Arburg Gmbh + Co Kg | Method, machine control and computer-program product for determining a path for autonavigation |
Also Published As
Publication number | Publication date |
---|---|
JP5981215B2 (en) | 2016-08-31 |
CN102814813A (en) | 2012-12-12 |
DE102012103830B4 (en) | 2022-05-25 |
JP2012232408A (en) | 2012-11-29 |
CN102814813B (en) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012103830B4 (en) | Method and computer-readable media for automatic connection of deadlocks in multiple robot systems | |
DE102016120763B4 (en) | Method for collision-free motion planning | |
EP1366867B1 (en) | Method and device for avoiding collisions between industrial robots and other objects | |
DE102016009255B4 (en) | Coordination of paths of multiple moving machines | |
DE102015015093B4 (en) | Robot programming device for instructing a robot for machining | |
EP2353802A2 (en) | Method for a collision-free path planning of an industrial robot | |
DE102017002996A1 (en) | MACHINE LEARNING DEVICE FOR LEARNING THROUGH THE USE OF A SIMULATION RESULT, MACHINE SYSTEM, MANUFACTURING SYSTEM AND MACHINE LEARNING PROCESS | |
EP2952990B1 (en) | Optimized control of a chip-producing working machine | |
EP3434424A1 (en) | Efficient programming of robots for processing of workpieces with various variants | |
EP3511126A1 (en) | Method for computer-assisted planning of a process which can be executed by a robot | |
DE102019117877B4 (en) | ROBOT PROGRAM GENERATION DEVICE | |
DE112019007889T5 (en) | MACHINING PROGRAM CONVERSION DEVICE, NUMERICAL CONTROL DEVICE AND MACHINING PROGRAM CONVERSION METHOD | |
DE102015002994A1 (en) | Changing an initially given robot path | |
EP3819088B1 (en) | Method for determining a safety area and for routing robots | |
AT518498A1 (en) | Position monitoring of a kinematics | |
DE102018000205A1 (en) | Numerical control | |
EP3914976B1 (en) | Assigning tools to spaces in a tool magazine | |
DE112020006647T5 (en) | ORIGIN RETURN DEVICE | |
DE102015118431B4 (en) | Autonomous tax system | |
DE112019007579T5 (en) | Numerical control device and machine learning device | |
DE102022131537A1 (en) | AUTOMATIC ONLINE LOCKING STRATEGY | |
EP2796953B1 (en) | Numerical controller with indicator for preview in case of changes to the part program | |
DE102022130341A1 (en) | POINT SET INTERFERENCE CHECK | |
EP3779619B1 (en) | Method and device for determining emerging risks of a technical system | |
EP3518059B1 (en) | Method for computer-assisted user assistance in the operation of a movement planer for a machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G05B0019418000 Ipc: B25J0009180000 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |