DE69515464T2 - Verfahren zur planung/steuerung von roboterbewegungen - Google Patents
Verfahren zur planung/steuerung von roboterbewegungenInfo
- Publication number
- DE69515464T2 DE69515464T2 DE69515464T DE69515464T DE69515464T2 DE 69515464 T2 DE69515464 T2 DE 69515464T2 DE 69515464 T DE69515464 T DE 69515464T DE 69515464 T DE69515464 T DE 69515464T DE 69515464 T2 DE69515464 T2 DE 69515464T2
- Authority
- DE
- Germany
- Prior art keywords
- robot
- movements
- movement
- workpiece
- sequence
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 114
- 230000033001 locomotion Effects 0.000 claims description 361
- 238000005452 bending Methods 0.000 claims description 87
- 238000003754 machining Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000002265 prevention Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 60
- 238000000354 decomposition reaction Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 15
- 239000002184 metal Substances 0.000 description 14
- 229910052751 metal Inorganic materials 0.000 description 14
- 238000009987 spinning Methods 0.000 description 12
- 244000261422 Lysimachia clethroides Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 235000012149 noodles Nutrition 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- -1 but not limited to Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40421—Motion planning for manipulator handling sheet metal profiles
-
- 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/40444—Hierarchical planning, in levels
-
- 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/40445—Decompose n-dimension with n-links into smaller m-dimension with m-1-links
-
- 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/40446—Graph based
-
- 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/40458—Grid adaptive optimization
-
- 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/40463—Shortest distance in time, or metric, time optimal
-
- 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/40476—Collision, planning for collision free path
-
- 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/40488—Coarse and fine motion planning combined
-
- 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/40497—Collision monitor controls planner in real time to replan if collision
-
- 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/45—Nc applications
- G05B2219/45143—Press-brake, bending machine
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Bending Of Plates, Rods, And Pipes (AREA)
Description
- Die Erfindung betrifft ein Verfahren und ein System zum Planen der Bewegung eines Roboters gemäß dem Oberbegriff des Anspruchs 1 bzw. des Anspruchs 24.
- Ein solches Verfahren und ein solches System ist in dem Aufsatz "A Heuristic Planner and an Executive for Mobile Robot Control" von Yoshiaki Ichikawa und Norihiko Ozaki (IEEE Transactions on Systems, Man and Cybernetics, Band SMC-15, Nr. 4, 1988, New York, USA, S. 558-563) beschrieben.
- Der beschriebene Planer schafft einen Routenplan in zwei Hierarchie-Niveaus. Das erste Niveau wählt Türen zum Durchschreiten unter Minimierung der Gesamtzahl von Türen. Das zweite Niveau erzeugt eine nahezu kürzeste Bahn innerhalb eines Raumes. Um den Suchraum und die Berechnungszeit für die Planung zu reduzieren, werden heuristische Planungsstrategien bei einem Pfadsuchvorgang benutzt. Zum Schaffen des Routenplans benutzt der Planer eine zweidimensionale Umgebungskarte. Hindernisse in der Umgebungskarte werden um die Robotergröße vergrößert, um den Roboter als punktförmig annehmen zu können. Zum Optimieren des Pfades wird von dem Planer eine Kosten- oder Aufwandsfunktion benutzt, welche sich mit der Gesamtpfadlänge von dem Anfangsknoten zur augenblicklichen Position, dem geradlinigen Abstand von der gegenwärtigen Position zum Zielknoten und einer heuristischen Kostenfunktion befaßt, unter Beseitigung von bedeutungsloser Rückpfadverfolgung.
- Verschiedene Verfahren wurden in der Literatur beschrieben, um ein geometrisches Modell der "Größe des freien Raums" zu schaffen, in dem sich ein Roboter zu bewegen hat und zum Erzeugen eines Bewegungsplans für den Roboter zur Bewegung von einer Startposition zu einer Zielposition innerhalb des freien Raums. Unter diesen Verfahren befinden sich Näherungs-Zerlegungsverfahren zum Modellieren eines Roboter-Freiraums, wie in dem Buch von Jean-Claude Latombe "Robot Motion Planning", Kluwer Academic Publishers, Boston/- Dordrecht/London (1991) beschrieben wird, auf dessen Inhalt in seiner Gesamtheit hier ausdrücklich als Referenz verwiesen wird. Näherungs-Zellenzerlegung kann benutzt werden, um die Größe des freien Raums bei einer bestimmten physikalischen Umgebung zu bestimmen. In manchen derartigen Verfahren wird eine rechtwinklige (d. h. eine rechteck- oder quaderförmige) Zerlegung P von Ω = C1 ( ) gebildet, welches eine Rechteckform von m ist, wobei m die Dimension des Konfigurationsraums ist. Die sich ergebende rechtwinklige Zerlegung P wird zur Suche nach einem Lösungspfad benutzt, der eine Startposition Oft mit einer Zielposition Qgoal verbindet. Ein Algorithmus, der zum Finden des Lösungspfades benutzt werden kann, geht wie folgt:
- (1) Eine anfängliche Rechtwinkelform-Zerlegung P eines Rechtwinkel-Gebildes (Rechteck oder Quader) Ω in wird berechnet, und so werden Zellen erzeugt, von denen jede wie folgt klassifiziert wird: leer, falls sie keinen C-Hindernisbereich überschneidet; voll, falls sie vollständig in einem C-Hindernisbereich enthalten ist; und gemischt, falls sie einen C-Hindernisbereich partiell überschneidet.
- (2) Die sich ergebende Zerlegung Pi wird gesucht, um einen Kanal zu erhalten, der die Qinit enthaltende Anfangszelle mit der Qgoal enthaltenden Zielzelle verbindet. Der Kanal kann entweder ein E-Kanal sein, der nur leere Zellen umfasst, oder ein M-Kanal, der eine oder mehrere gemischte Zellen umfasst. Falls das Ergebnis der Suche ein E-Kanal ist, kehrt der Algorithmus mit dem Freiraum-Leerzellen-E-Kanal zurück. Wenn jedoch das Ergebnis der Suche ein M-Kanal ist, geht der Ablauf weiter zum nachstehenden Schritt (3). Sonst kehrt der Algorithmus mit Fehlermeldung zurück.
- (3) Für jede gemischte Zelle innerhalb eines erzeugten M-Kanals wird eine weitere Rechtwinkelform-Zerlegung Pi berechnet, und der Vorgang kehrt zum Schritt (2) zurück.
- Beim Berechnen einer Rechtwinkelform-Zerlegung einer GEMISCHTEN Zelle kann ein Unterteilungs -und-Etikettier-Verfahren ausgeführt werden, wie es in Fig. 1 dargestellt ist. Das Verfahren umfasst die Schritte eines ersten Aufteilens einer Zelle in kleinere Zellen, wie in Fig. 1 gezeigt, und dann Etikettieren jeder neugeschaffenen Zelle entsprechend der Tatsache, ob sie einen C-Hindernisbereich überschneidet. Eine weithin benutzte Technik zum Zerlegen einer Rechtwinkelform Ω in kleinere Rechtwinkelformen besteht im Berechnen einer 2m-Baum- Zerlegung. Bei einer 2m-Baum-Zerlegung wird ein Baum mit Knoten gebildet, von denen jeder eine rechtwinklige Zelle darstellt, die als entweder LEER, VOLL oder GEMISCHT etikettiert ist. Der Wurzelknoten des Baums ist Ω. Jeder Knoten, der eine GEMISCHTE Zelle darstellt, wird dann zur Bildung von 2m-Kinderknoten zerlegt. Jedes Kind einer Elternzelle hat die gleichen Abmessungen und wird durch Unterteilen jeder Kante der Elternzelle in zwei Segmente gleicher Länge gebildet. Falls m = 3, wird der Baum ein Achtbaum (octree) genannt.
- Fig. 1 zeigt eine Achtbaum-Zerlegung einer Parallelflächner-Darstellung 10 eines Abschnitts des Konfigurationsraumes und zeigt einen Abschnitt einer Achtbaum-Grafik 12. Die Gesamthöhe h des Baums (d. h. die Tiefe des tiefsten Knotens) bestimmt die Auflösung der Zerlegung und damit die Größe der kleinsten Zelle in der Zerlegung. Eine Maximalhöhe hmax des Baums kann angegeben werden, um dadurch den durch die Schritte 2 und 3 des vorher angegebenen Algorithmus ausgeführten iterativen Vorgang zu begrenzen.
- Es ist zu bemerken, dass die Achtbaum-Grafik 12 nicht genau dem in Fig. 1 abgebildeten Parallelflächner 10 entspricht. Stattdessen sind die verschiedenen in der Achtbaum-Grafik 12 abgebildeten Rechtwinkler willkürlich gewählt, um die Darstellung zu vereinfachen.
- Das vorher beschriebene Näherungs-Zellenzerlegungsverfahren benutzt eine Konfigurationsraum-Vorgehensweise zur räumlichen Planung, durch die Position und Ausrichtung eines Objektes A mit Bezug auf Hindernisse B als ein Einzelpunkt in einem Konfigurationsraum gekennzeichnet wird, in welchem die Koordinaten des Punktes einen Freiheitsgrad des Objekts mit Bezug auf die Hindernisse darstellen. Die Konfigurationen (d. h. die Einsetzungen), die dem Objekt A infolge der Anwesenheit von anderen Objekten (Hindernissen) verboten sind, werden als Bereiche in dem Konfigurationsraum gekennzeichnet, die Konfigurationsraum-Hindernisse (C-Hindernisse) genannt werden. Viel Literatur wurde über die Verwendung einer Konfigurationsraum-Darstellung eines Objektes mit Bezug auf Hindernisse veröffentlicht, darunter ein Aufsatz von Tomas Lozano-Perez mit dem Titel "Spatial Planning: A Configuration Space Approach", in IEEE Transactions on Computers, Band C-32, Nr. 2 (Februar 1983), auf dessen Inhalt ausdrücklich zur Referenz in seiner Gesamtheit hier verwiesen wird. Dieses Papier legt verschiedene Algorithmen zum Berechnen von Konfigurationsraum-Hindernissen vor, die durch Objekte, die Polygone oder Polyeder sind, gebildet werden.
- Fig. 2A stellt eine zweidimensionale Repräsentation eines Zapfens 26 und einer Grube 28 dar, bei der das Ziel ist, den Zapfen 26 so in die Grube 28 einzusetzen, dass eine Bodenfläche 27 des Zapfens 26 in bündige Berührung mit einer Bodenfläche g der Grube 28 kommt. Die Position und Ausrichtung des Zapfens 26 kann in einem zweidimensionalen Euklid'schen Raum als ein Satz von cartesischen Koordinaten (x, y, θ) dargestellt werden, deren Ursprung an der Mitte der Bodenfläche 27 des Zapfens 26 liegt. An dem in Fig. 2A dargestellten Ort hat der Zapfen 26 die Koordinaten θ = 0, x = 0 und y = 0.
- Fig. 2B stellt eine Konfigurationsraum-Repräsentation des Realraumproblems der Fig. 2A dar. Ein Punkt P ist in seiner Anfangsposition (wie in Fig. 2B gezeigt) dargestellt und kann längs eines Abschnitts G der C-Fläche 29 zu irgendeiner Position bewegt werden. Die C- Fläche 29 steht für ein C-Hindernis 30, das einem im Realraum in Fig. 2A dargestellten Hindernis (Grube) 31 entspricht, und ein Punkt P steht für den Zapfen 26.
- Die Position von P bestimmt die Position des Zapfens 26 mit Bezug auf die Grube 28. Die Begrenzung des in Fig. 2B gezeigten schraffierten Bereichs repräsentiert die Positionen, an denen der Zapfen 26 mit dem Hindernis 31 in Berührung ist, wenn Punkt P sich längs der Begrenzung befindet. Die Transformation von Fig. 2A auf Fig. 2B beläuft sich auf das Schrumpfen des Zapfens 26 zu einem Punkt P und Dehnen des Hindernisses 31 zur Bildung eines C-Hindernisses 30. Die Transformation von Fig. 2A zu Fig. 2B ist ein begrenztes Beispiel dafür, wie man ein Problem der Bewegung eines starren Objekts unter anderen starren Objekten zu einem äquivalenten Problem des Bewegens eines Punktes unter transformierten Objekten in einem höherdimensionalen Raum umformuliert, der der Konfigurationsraum (C-Raum) genannt wird.
- Es ist zu bemerken, dass Fig. 2B den Punkten entspricht, an denen der Zapfen 26 mit einem Hindernis 31 kollidiert, wenn die Achse (x, y) des Zapfens 26 und die Grube 28 auf Parallelität begrenzt sind, wodurch θ gleich 0 gehalten wird.
- Fig. 2C stellt dar, wie sich die C-Fläche ändert, wenn sich die Ausrichtung des Zapfens 26 mit Bezug auf die Grube 28 ändert, d. h. wenn θ durch Drehen der Ausrichtung des Zapfens 26 von 0 an im Gegenuhrzeigersinn anwächst. Fig. 2C zeigt so in einem dreidimensionalen C- Raum (x, y, θ) die Konfigurationen des Zapfens 26 mit Bezug auf die Grube 28. In diesem Raum wird die Grube 28 als ein C-Hindernis definiert. Die in Fig. 2C dargestellten Linien repräsentieren Flächen, an denen eine Oberfläche des Zapfens 26 gerade eine Oberfläche der Grube 28 berührt.
- Eine andere Vorgehensweise zur Bewegungsplanung kann benutzt werden, durch welche die Konfiguration in ein feines regelmäßiges Gitter von Konfigurationen diskretisiert und dann nach einem freien Pfad von einer Anfangsposition Qinit zu einer Zielposition Qgoal gesucht wird. Beim Suchen des Gitters für einen freien Pfad sind verschiedene Arten von Heuristik vorgeschlagen worden. Latombe bemerkt in "Robot Motion Planning" (1991), dass die erfolgreichsten Arten der Heuristiken zum Suchen eines feinen regelmäßigen Gitters von Gestaltungen für einen freien Pfad die Verwendung von Funktionen enthalten, die als "Potentialfelder" gedeutet werden. Die Funktionen werden "Potentialfelder" genannt, weil der Roboter als ein Punkt in einem Konfigurationsraum repräsentiert wird, der als ein sich unter dem Einfluß eines künstlichen Potentials bewegendes Teilchen angesehen werden kann, das durch die Zielkonfiguration (d. h. dem Punkt in dem Konfigurationsraum, bei dem der den Roboter repräsentierende Punkt an dem Ziel sein wird) und die C-Hindernisse erzeugt wird. Typischerweise erzeugt die Zielkonfiguration ein "Anziehungspotential", das den Roboter zu dem Ziel hin zieht, und die C-Hindernisse erzeugen ein "abstoßendes Potential", das den Roboter von sich wegstößt. Die Richtung der resultierenden Kraft wird als die vielversprechendste Bewegungsrichtung angesehen.
- In der Industrie wird, um die Grobbewegung eines zur Erfüllung eines bestimmten Verfahrensschritts benutzten Roboters zu planen, der Roboter durch die benötigten Bewegungen "durchgeführt", um den Roboter von einer Startposition zu einer Zielposition zu bringen. Automatisierte Grobbewegungs Planungssysteme können benutzt werden, um die Bewegung des Roboters an einem Computer zu simulieren. In der Industrie werden jedoch die automatisch erzeugten Roboter-Bewegungspläne selten (falls überhaupt) benutzt, weil der Genauigkeit solcher Pläne nicht getraut wird, und/oder weil die zum Erzeugen solcher Pläne benutzten Algorithmen kompliziert und zeitraubend sind.
- In Akademien wurden viele ausgeklügelte automatisierte Roboterbewegungsplanungs- Algorithmen vorgeschlagen. Jedoch ist ein allgemeines Ziel in Akademien das Erreichen von optimalen Ergebnissen, d. h. das Erzeugen eines Roboterbewegungsplans, der den Roboter längs des wirksamsten Pfades von einer Anfangsposition zu einer Zielposition bewegt. Da sich derartige Verfahren auf die Erreichung optimaler Ergebnisse konzentrieren, sind die sich ergebenden Algorithmen meist kompliziert und zeitraubend.
- EP 0 335 314 A2 beschreibt ein Verfahren und eine Vorrichtung zur Freiraum-Aufzählung für die Bewegungsplanung. Das Verfahren und die Vorrichtung sind allgemein anwendbar und verringern den notwendigen Informations- und Berechnungsaufwand. Ein angemessener Konfigurationsraum wird aufgestellt, und eine geeignete Strategie zur Freiraum-Aufzählung angenommen. Das Verfahren kann die Schritte zum Auswählen von Zellen nur zwischen dem Anfangspunkt und dem Endpunkt enthalten. Der Konfigurationsraum kann in eine Vielzahl von Zellen unterteilt werden, die in Ausdrücken von Abständen in den Freiheitsgraden definiert sind. Ein kollisionsfreier Pfad wird in dem den Anfangspunkt und den Endpunkt ohne Kollision verbindenden freien Raum bestimmt.
- Zur Klarstellung und zur Unterstützung von Lesern beim Verständnis der vorliegenden Erfindung wird eine Anzahl von hier benutzten Ausdrücken wie folgt definiert:
- Biegevorrichtung/Biegearbeitsplatz - ein Arbeitsplatz oder eine Vorrichtung zum Ausführen moderner Metallblech-Bearbeitungsfunktionen, die Biegevorgänge enthalten.
- Biegen von Blechen aus formbarem Material - Bearbeiten von Blechen aus formbaren Material wie Metallblech einschließlich, jedoch nicht begrenzt auf, Lufteinwirkungsbiegung, V- Biegung, R-Biegung, Besäumung, Umschlagung, Prägung, Bauchen, Formen, Wischung, Faltungsbiegung, Freibiegung usw.
- Maximal überdeckendes Rechtwinkel-Gebilde - ein Rechtwinkel-Gebilde (Rechteck bzw. Quader), dessen Seiten in jeder orthogonalen Richtung zu dem maximal möglichen Ort innerhalb eines definierten Freiraums erweitert sind, wie nachher in dem zu Fig. 11D gehörigen Text beschrieben.
- m-Baum-Darstellung eines Arbeitsraums - eine Zerteilung einer rechtwinkelförmigen- Repräsentation eines Arbeitsraumes in kleinere Rechtwinkelgebilde, welche Unterteilung benutzt wird, um darzustellen, welche Abschnitte des rechtwinkligen Arbeitsraums leer, voll oder gemischt sind. Die sich ergebende Unterteilung ist dabei anhand eines Baumes definiert. Ein Beispiel einer Achtbaum-Darstellung eines Arbeitsraumes, die eine Art von m-Baum-Darstellung ist, wird in Fig. 1 und Fig. 11A und 11B gegeben.
- Rechtwinkel-Gebilde - ein Rechteck im zweidimensionalen Raum oder ein Quader in einem dreidimensionalen Raum.
- Es ist das Ziel der Erfindung, die Bewegungsplanung eines Roboters innerhalb eines durch Hindernisse begrenzten freien Raums zu verbessern.
- Dieses Ziel wird durch das Verfahren nach Anspruch 1 und das System nach Anspruch 24 erreicht.
- Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen aufgeführt.
- Gemäß einem Aspekt der vorliegenden Erfindung kann das Verfahren weiter eine Feinbewegungsplanung zum Planen einer Vielzahl von Freiraum-Freibewegungsiösungspfaden enthalten, die sich zwischen einer Vielzahl von jeweiligen Positionspaaren qi und qg erstrecken. Das Verfahren kann auch Grobbewegungs-Planung zum Planen einer Vielzahl von Freiraum-Grobbewegungslösungspfaden umfassen, die sich zwischen einer Vielzahl von jeweiligen Positionspaaren Qi und Qg erstrecken. Die Feinbewegungsplanung kann das Ausführen der eben angeführten Schritte der Voraussage, des Modellierens, des Bestimmens und Erzeugens für jedes Positionspaar qi und qg umfassen. In dieser Beziehung kann der Voraussageschritt das Angeben einer Vielzahl von Bewegungen im C-Raum für die mte Bewegung und das identifizieren umfassen, welche in der angegebenen Vielzahl von Bewegungen ausführbar sind, durch Ausführen einer Kollisionsprüfung. Die Grobbewegungsplanung kann das Ausführen der Schritte des Voraussagens, Modellierens, Bestimmens und Erzeugens für jedes Positionspaar Qi, und Qg umfassen. Der Voraussageschritt kann das Voraussagen eines Satzes von Bewegungen mit maximal überdeckenden Parallelflächnern innerhalb des Freiraums des Roboters umfassen.
- Die vorliegende Erfindung wird weiter in der nachfolgenden detaillierten Beschreibung mit Bezug auf eine Vielzahl von Zeichnungen anhand von Beispielen von dargestellten Ausführungsformen der Erfindung beschrieben, in denen gleiche Bezugszeichen gleichartige Teile durch alle verschiedenen Ansichten der Zeichnungen darstellen, und in denen:
- Fig. 1 eine grafische Darstellung einer Parallelflächner-Unterteilung eines Arbeitsraums und einer entsprechenden Achtbaum-Grafik der Zerteilung darstellt;
- Fig. 2A eine 2D- (zweidimensionale) Euklidraum-Darstellung eines Zapfen/Gruben-Problems darstellt;
- Fig. 2B eine Konfigurationsraum-(C-Raum)-Darstellung des Zapfen/Gruben-Problems darstellt, wie in Fig. 2A gezeigt, bei festgehaltenem θ;
- Fig. 2C eine Konfigurationsraum-Darstellung des Zapfen/Gruben-Problems bei verändertem θ darstellt;
- Fig. 3 eine teilweise vereinfachte erhöhte perspektivische Zeichnung einer Presse einer Biegevorrichtung darstellt;
- Fig. 4 ein Blockschaltbild eines Planungs- und Steuersystems einer Biegevorrichtung umfasst;
- Fig. 5 ein Flußdiagramm eines Gesamtbiegevorgangs ist;
- Fig. 6 eine erhöhte Draufsicht auf ein Werkstück ist, wie es zum Belasten in verschiedenen Stufen längs einer Formschiene einer Biegevorrichtung positioniert wird;
- Fig. 7 ein Flußdiagramm der Schritte innerhalb eines Biegeablaufs darstellt, die einer Feinbewegungsplanung unterworfen sind;
- Fig. 8 verschiedene Seitenansichten eines Werkstückes und seiner Beziehung zu dem Drückwerkzeug und der Form einer Biegevorrichtung während jedes der in Fig. 7 dargestellten Schritte enthält;
- Fig. 9 ein Flußdiagramm ist, das die allgemeinen zur Erzeugung eines Grobbewegungsplans auszuführenden Schritte bezeichnet;
- Fig. 10 grafische Darstellungen verschiedener Modellierungsschritte zum Schaffen eines geometrischen Modells zur Verwendung bei der Erzeugung eines Grobbewegungsplans enthält;
- Fig. 11A eine grafische Darstellung einer Parallelflächner-Zerlegung eines insgesamt parallelflächigen Arbeitsraums umfasst;
- Fig. 11B eine Achtbaum-Grafik der in Fig. 11A gezeigten Zerlegung darstellt;
- Fig. 11C eine grafische Darstellung von sich ergebenden Freiraum-Parallelflächnern umfasst, die bei der in Fig. 11A gezeigten Zerlegung gebildet werden können;
- Fig. 11D eine grafische Darstellung der maximal überdeckenden Parallelflächner umfasst, die aus den in Fig. 11C dargestellten Freiraum-Parallelflächnern gebildet werden;
- Fig. 12A-12B ein Flußdiagramm eines Grobbewegungs-Planungsverfahrens umfasst;
- Fig. 12C einen Satz von Grobbewegungsvorgängen zur Verwendung bei der Betrachtung als Folgeknoten in der durch das Grobbewegungs-Planungsverfahren ausgeführten Suche darstellt;
- Fig. 13 eine Seitenansicht eines Roboters und eine Begrenzungen des Roboter- Arbeitsraums repräsentierenden Arbeitslinie darstellt;
- Fig. 14 eine Seitenansicht eines Werkstücks, eines Drückwerkzeugs und einer Form ist;
- Fig. 15 ein Blockschaltbild ist, welches die Verbindung zwischen einem Biegefolgenplaner, einem Werkzeugbestückungsexperten und einem Feinbewegungsplaner repräsentiert;
- Fig. 16 ein Blockschaltbild ist, das die Verbindung zwischen einem Biegefolgenplaner, einem Bewegungsexperten und einem Abschluss-Feinbewegungsmodul darstellt;
- Fig. 17A-17B ein Flußdiagramm der verschiedenen während Feinbewegungsplanung ausgeführten Schritte umfassen;
- Fig. 18 ein Flußdiagramm zur Bestimmung als Folgeknoten anzusehender intelligenter Suchrichtungen während der durch das dargestellte Feinbewegungs-Planungsverfahren ausgeführten Suche umfasst;
- Fig. 19 ein Flußdiagramm eines in Verbindung mit dem dargestellten Feinbewegungs- Planungsverfahren ausgeführten Status-Raumsuch-Algorithmus ist;
- Fig. 20 ein Blockschaltbild der Robotersteuerung, Software, Hardware und von Sensoren ist, die zum Ausführen der durch die von dem Grobbewegungsplaner und dem Feinbewegungsplaner erzeugten Pläne geschaffen werden;
- Fig. 21 eine perspektivische, teilweise angehobene Ansicht eines Roboters und einer Formschiene und verschiedenen Koordinatensystemen ist, die zur Beschreibung der jeweiligen Orte derselben benutzt werden können; und
- Fig. 22-27 jeweils ein unterschiedliches Teil darstellen, das von einer Biegevorrichtung gelöst und abgenommen wird, die ein bestimmtes Drückwerkzeug besitzt, und eine Vielzahl von Schnappschüssen des Werkstücks bei seiner Abnahme umfassen.
- Mit Bezugnahme mit mehr Einzelheiten der Zeichnungen stellt Fig. 3 einen Abschnitt einer Abkantbank 14 eines Metallblech-Biegearbeitsplatzes und einen Robotmanipulator (Roboter) 16 dar. Wie in Fig. 3 gezeigt, enthält die Abkantbank 14 verschiedene Komponenten wie eine Formschiene 18, mindestens eine Form 22, mindestens ein Drückwerkzeug 20 und einen Anschlagmechanismus 24. Beim Betrieb der Abkantbank 14 wird ein Stück Metallblech (d. h. ein Metallblechwerkstück) 17 durch den Roboter 16 manipuliert und in den zwischen dem Drückwerkzeug 20 und der Form 22 gebildeten Formraum eingesetzt, und die Formschiene 18 wird nach oben gesteuert, um das Drückwerkzeug 20 und die Form 22 einander gegenüber an das Metallblechwerkstück anlegen zu lassen. Dadurch wird das Blechmetallwerkstück 17 in Übereinstimmung mit den jeweiligen komplementären Bearbeitungsflächen des Drückwerkzeugs 20 und der Form 22 gebogen. Der Roboter 16 und die Abkantbank 14, schaffen, wie in Fig. 3 dargestellt, eine Grundlage, mit der ein System zum Planen einer Roboterbewegung beschrieben wird, und ein System zum Steuern der Roboterbewegung durch Darstellen einer exemplarischen Umgebung, in der derartige Systeme eingesetzt werden können. In dieser Beziehung ist zu bemerken, dass die Roboterplanungs- und Steuersysteme der vorliegenden Erfindung mit einem intelligenten System zum Erzeugen und Ausführen eines Metallblechbiegeplans eingesetzt werden können.
- Fig. 4 stellt ein Teil-Blockschaltbild eines Planungs/Steuersystemes zum Erzeugen eines Biegeplans und zum Steuern des Betriebs eines Metallblech-Biegearbeitsplatzes nach dem erzeugten Plan dar. Wie in Fig. 4 gezeigt, enthält das Planungs/Steuersystem einen Biegefolgenplaner 40, verschiedene Module/Experten 42, einen Werkzeugbestückungsexperten 43, einen Bewegungsexperten 44 und eine Folgesteuerung (Taktverkettung) 46. Der Planer 40 arbeitet mit jedem der Module/Experten 42, dem Werkzeugbestückungsexperten 43 und dem Bewegungsexperten 44 zusammen zur Erzeugung eines Plans für die vollständige Teilherstellung eines gebogenen Metallblechwerkstücks zur Ausführung durch einen Biegearbeitsplatz 14, wie dem in Fig. 3 gezeigten. Der Biegefolgenplaner 40 erzeugt einen Abschlussplan (der eine allgemeine Liste von zur Steuerung des Betriebs der verschiedenen Hardwareelemente des Systems nötigen Schritten und Begleitinformation enthält) und gibt den erzeugten Plan an die Folgesteuerung 46 weiter.
- Beim Erzeugen eines vollständigen Plans, der eine komplette Folge von an einem Werkstück auszuführenden Biegevorgängen enthält, nimmt der Biegefolgenplaner 40 an einem Dialog mit jedem Modulexperten 42, Werkzeugbestückungsexperten 43 und Bewegungsex perten 44 teil. Der Biegefolgenplaner 40 fragt jeden Experten nach Teilplan- und Aufwandsinformation ab, was dem Planer 40 beim Treffen von Entscheidungen hilft, welche Biegungen und Vorgänge in dem abschließend erzeugten Plan enthalten sein sollen, der an die Folgesteuerung 46 weitergegeben wird. Der Biegefolgenplaner 40 fragt den Werkzeugbestückungsexperten 43 nach Information ab wie der Stufe, die zum Ausführen einer bestimmten Biegung in einer Biegefolge eingesetzt werden soll, und dem Ort an der Stufe, an dem das Werkstück eingeladen wird, um die Biegung auszuführen. Zusätzlich fragt der Planer 40 den Werkzeugbestückungsexperten 43 nach Information einschließlich der geschätzten k- und h- Aufwendungen und der Feinbewegungs-Planungsinformation ab. Der Werkzeugbestückungsexperte 43 reagiert dann auf die Anfragen des Planers mit den k- und h-Aufwendungen und verschiedener Teilplaninformation. Der Feinbewegungs-Planungsmodul ist (bei der dargestellten Ausführung) im Werkzeugbestückungsexperten 43 vorgesehen, da die Feinbewegungs-Planung von der Art des Werkzeugs abhängt, die beim Ausführen der Biegungen der Biegefolge eingesetzt wird.
- Das Bewegungsplanungssystem der vorliegenden Erfindung, wie es bei der in Fig. 4 dargestellten Ausführungsform verwirklicht ist, erzeugt zwei separate Pläne: einen Grobbewegungsplan zum Leiten des Roboters (und anderer Teile des Systems) im freien Raum, und einen Feinbewegungsplan zum Leiten des Roboters (und des durch den Roboter gehaltenen Werkstücks), wenn ein Kontakt oder ein möglicher Kontakt zwischen einem oder mehreren Komponenten des Biegearbeitsplatzes (üblicherweise einem Drückwerkzeug und der Form) und dem Roboter 16 oder dem Werkstück 17 vorhanden ist.
- Der Biegefolgenplaner 40 fragt den Bewegungsexperten 44 nach Information einschließlich des k- und h-Aufwandes, die einer bestimmten Biegung in der Folge von durch den Biegefolgenplaner erzeugten Biegungen zugeordnet sind. Zusätzlich fragt der Biegefolgenplaner 40 den Bewegungsexperten 44 nach Information, die den Grobbewegungsplan betrifft, welcher das Leiten des Roboters von einem Punkt innerhalb des Gesamtarbeitsraumes der Biegevorrichtung zu einem anderen enthält, z. B. von einer Beladeposition der Biegevorrichtung zu einer Position, die für Einladen in den Formraum in einer ersten Bearbeitungsstufe der Biegevorrichtung bereit ist. Der Biegefolgenplaner 40 instruiert den Bewegungsexperten zum Ausführen einer Feinbewegungs-Integrationsfunktion unter anderen Funktionen, welche das Integrieren der Grobbewegungspläne in die durch den Werkzeugbestückungsexperten 43 erzeugten Feinbewegungspläne enthält.
- Der Werkzeugbestückungsexperte 43 enthält eine Vielzahl von Modulen zum Ausführen seiner Funktionen, einschließlich z. B. den Feinbewegungs-Planungsmodul 43a, der in dem Kasten gezeigt ist, auf den der gestrichelte Pfeil zeigt. Der Bewegungsexperte 44 enthält eine Vielzahl von Modulen einschließlich verschiedener Module zum Ausführen der Bewegungsplanung. Z. B. enthält der Bewegungsexperte 44 einen Grobbewegungs-Planungsmodul 44a, einen Abschluss-Feinbewegungsmodul 44b und einen Bewegungsaufwand-Zuordnungsmodul 44c. Der Bewegungsaufwand-Zuordnungsmodul 44c wird in erster Linie zum Erzeugen des angemessenen k- und h-Aufwands eingesetzt, die durch den Biegefolgenplaner 40 verwendet werden können, um zu entscheiden, ob ein bestimmter biegebezogener Vorgang oder mehrere solche Vorgänge bei einem bestimmten Vorgang innerhalb einer erzeugten Vorgangsfolge verwendet wird/werden.
- Fig. 5 ist ein Flußdiagramm, das einen allgemeinen Vorgang des Ausführens einer Biegung mit einem Metallblech-Biegearbeitsplatz/einer Biegevorrichtung wie dem/der in Fig. 3 gezeigten darstellt. In einem ersten Schritt S2 setzt der Roboter 16 ein Teil/Werkstück 17 in den Formraum ein. Dann wird im Schritt S4 das Teil in verschiedenen Richtungen ausgerichtet, einschließlich einer X-Richtung, einer Y-Richtung und einer Dreh-(Gier)Richtung. Im Schritt S6 wird die Presstafel angehoben, bis sie den Einsatzpunkt erreicht (einen Punkt, an dem die Form das Werkstück gegen das Drückwerkzeug anlegt). Dann wird im Schritt S8 die Biegung mit Biegefolge ausgeführt (d. h. mit Aufrechterhaltung des festen Halts an dem Werkstück durch den Roboter während der gesamten Ausführung der Biegung). Sobald die Biegung ausgeführt ist, wird im Schritt S10 die Abkantbank geöffnet. Im Schritt S12 wird das Teil durch Entfernen des Teils aus dem Formraum von der Biegevorrichtung entladen.
- Fig. 6 ergibt eine Darstellung von verschiedenen Anfangspositionen Qi und Zielpositionen Qg, durch welche ein durch einen Greifroboter 19 gehaltenes Werkstück 17 durch den Ablauf einer Biegefolge bewegt werden kann. Die dargestellten Ausgangspositionen Qi und Zielpositionen Qg bilden Anfangs- und Zielpositionspaare, die einen Grobbewegungspfad bilden, der durch den dargestellten Grobbewegungsplaner zu erzeugen ist. Die Biegefolge kann verschiedene auszuführende Biegungen an verschiedenen Stufen enthalten, einschließlich der dargestellten Stufen, welche die Stufe 1, Stufe 2 und Stufe 3 enthalten, von denen jede in Längsrichtung einer Formschiene 18 angesetzt ist. Jede der Ausgangs- und Endpositionen Qi und Qg (zwischen welchen ein Grobbewegungspfad geplant wird) sind Ausgangs- und Endpositionen, für welche Lösungen durch einen in dem Bewegungsexperten 44 der in Fig. 4 dargestellten Ausführungsform vorgesehenen Grobbewegungsplaner 44a erzeugt werden.
- Eine Beschreibung der Bewegungsfolge mit Bezug auf Fig. 6 hilft bei der Darstellung der Beziehung zwischen den Grobbewegungs- und Feinbewegungs-Planungsalgorithmen der dargestellten Ausführungsform. Eingangs wird der (in Fig. 6 nicht gezeigte) Roboter 16 das Werkstück 17 von einer Anfangsposition Qi (1) von dem (nicht gezeigten) Lader/Entlader der Biegevorrichtung abziehen. Die Eingangsstartposition, von welcher aus der Bewegungsplaner (z. B. der Grobbewegungs-Planungsmodul 44a) einen (Grobbewegungs-) Lösungspfad plant, erstreckt sich zur Stufe 1 an der Position Qg(1). Sobald das Werkstück sich an dem durch Qg(1) definierten Ort befindet, wird Abschlussbewegungsplanung eingesetzt, um die Bewegung des Werkstücks 17 zu planen, die zum Einladen des Werkstücks in den Formraum, d. h. den Raum zwischen dem Drückwerkzeug und der Form, benutzt wird, so dass die Biegung ausgeführt werden kann. Sobald die Biegung ausgeführt ist, wird der Feinbewegungs- Planungsmodul 42a einen Lösungspfad zum Entladen des Werkstücks bestimmen und so das Werkstück zur Position Qi(2) zurückführen. Das ist die Ausgangsposition für den nächsten zu erzeugenden Grobbewegungsplan, der sich von Stufe 1 an der Position Qi(2) zur Stufe 2 bei Qg(2) erstreckt. Sobald die Position Qg(2) erreicht ist, wird ein Feinbewegungsplan (der durch den Feinbewegungs-Planungsmodul 43a erzeugt und in den abschließenden Gesamtbewegungsplan integriert wurde) ausgeführt, um einen Lösungspfad zum Einladen und Entladen des Werkstücks in bzw. aus dem Formraum zu erzeugen, wobei die sich ergebende Position des Werkstücks 17 dann Qi(3) entspricht, die der Ausgangspunkt für einen nächsten Abschnitt des Gesamtplans ist (der durch einen durch den Grobbewegungs-Planungsmodul 43a erzeugten Grobbewegungsplan gebildet wird), der erzeugt wird, um den Roboter und das Werkstück von Stufe 2 zu Stufe 3 an Position Qg(3) zu nehmen. Ein Feinbewegungsplan, der in den Gesamtplan integriert wurde, wird dann an diesem Punkt ausgeführt, um das Werkstück in den Formraum an Stufe 3 einzuladen und von dort zu entladen. Der abschließende Abschnitt des integrierten Gesamtbewegungsplans, der dem letzten Grobbewegungsplan entspricht, der erzeugt wurde, wird sich von Qi(4) an Stufe 3 zu der Endposition Qg(4) erstrecken, die der Position entspricht, an der das Werkstück zum Abziehen durch den (nicht gezeigten) Lader/Entlader bereit ist.
- Fig. 7 ist ein Flußdiagramm der Schritte in dem Biegevorgang, der zu der Feinbewegungsplanung gehört oder dafür relevant ist. Während der Ausführung jeder Biegung durch die Biegevorrichtung wird das Werkstück, wenn es bereit ist, im Schritt S90 in den Raum an den Ort einer bestimmten Stufe geladen. Dann wird im Schritt S92 die Biegung gemäß der Biegefolge ausgeführt. Schließlich wird im Schritt S94, nachdem die Biegung vollständig ausgeführt ist, das Werkstück aus dem Formraum entnommen, und ist dann zur Bewegung zum nächsten Stufenort für eine nächste Biegung oder zum Entladen von der Biegevorrichtung mit Hilfe des (nicht gezeigten) Laders/Entladers bereit. Wie vorher mit Bezug auf Fig. 6 bemerkt, kann die Feinbewegungsplanung ausgeführt werden zum Planen der Bewegung des Werkstücks während eines der beiden Vorgänge des Ladens in den Formraum und Entladens des Werkstückes aus dem Formraum, oder während beider Vorgänge.
- Fig. 8 zeigt eine Vielzahl von Seitenansichten des Werkstücks 17 bei unterschiedlichen Teilen eines Biegevorgangs. Ansicht (a) zeigt das in den Formraum geladene Werkstück 17. Ansicht (b) zeigt die Biegefolge während der Biegung, entsprechend Schritt S92 des Flußdiagramms der Fig. 7. Ansicht (c) in Fig. 8 stellt das Werkstück dar, wie es von dem Formraum entladen wird und entspricht dem Schritt S94 des Flußdiagramms der Fig. 7.
- Fig. 8 stellt die verschiedenen Feinbewegungsplanabschnitte des integrierten Gesamtbewegungsplans dar, die durch die Folgesteuerung 46 zum Steuern der Bewegungen des Werkstücks durch das ganze Ausführen verschiedener Vorgänge der Biegevorrichtung eingesetzt werden. Bevor das Werkstück in den Formraum geladen wird, befindet sich das Werkstück 17 an einer Ausgangsposition qi(1), die mit einer abschließenden Grobbewegungsplanposition Qg zusammenfällt. Ein Feinbewegungsplan wird erzeugt, um einen Pfad zu schaffen, den das Werkstück von der Ausgangsposition qi(1) zu einer Zielposition qg(1) nimmt, welche die eingeladene Position des Werkstücks 17 ist. Die Position qg(1) entspricht einer Ausgangsposition des Werkstücks vor dem Beginn einer Biegung mit Biegefolgung. Biegefolgung wird dann ausgeführt, die zu einer Bewegung der Position des Werkstücks 17 (und auch der Position des das Werkstück haltenden Robotgreifers) zu einer Position qf führt. Die Position qf entspricht einer Ausgangsposition qi(2), von welcher aus ein Feinbewegungsplan erzeugt wird, den das Werkstück zu einer Abschlussposition qg(2) nimmt, welche einem ungeladenen Zustand (von dem Formraum entladen) entspricht. Sobald das Werkstück entnommen ist, wird ein durch einen Grobbewegungsplaner erzeugter Plan in der in Fig. 6 gezeigten Weise eingesetzt, um z. B. das Werkstück 17 von einer Position Qi(2) in Stufe 1 zu einer Position in Stufe 2 zu nehmen.
- Fig. 9 ist ein Flußdiagramm, welches die allgemeinen bei dem dargestellten Grobbewegungsplanungsverfahren ausgeführten Schritte darstellt. In einem ersten Schritt S60 wird eine Vierbaum- oder Achtbaum-Darstellung gebildet von einem Rechtwinkelgebilde (Rechteck im Euklid'schen 2D Raum oder Quader im Euklid'schen 3D Raum), das den Gesamtarbeitsraum umgibt, in welchem sich der Roboter 16 (Fig. 3) bewegt. Danach werden im Schritt S62 alle überdeckenden maximalen Rechtwinkelgebilde im freien Raum berechnet und Kanäle genannt. Im Schritt S64 wird ein Statusraum-Suchalgorithmus eingesetzt, um eine Folge von durch den Roboter 16 ausgeführten Bewegungen zu erzeugen, die den Roboter sicher durch die Kanäle von einer Startposition Qi zu einer Zielposition Qg bringen.
- Jeder der Schritte S60 und S62 des in Fig. 9 dargestellten allgemeinen Grobbewegungsplanungsverfahren kann als vorläufiger linienfern liegender Schritt (d. h. von dem zum Ausführen des Biegeplanungs/Steuerungs-Systems benutzten wie dem in Fig. 4 gezeigten Computersystem entfernt) ausgeführt werden, um eine "Kanaldatei" zu schaffen, welche alle berechneten überdeckenden maximalen Rechteckgebilde definiert, wobei die Kanaldatei dann durch den Bewegungsexperten 44 des Planungs/Steuerungs-Systems 38 eingesetzt wird. Derartige linienferne Berechnungen können drei Hauptmodellierungsschritte enthalten, wie in Fig. 10 dargestellt. In einem ersten Schritt wird ein dreidimensionales Euklid'sches Modell 72 der Biegepressenumgebung hergestellt, bei der das Modell durch einen Parallelflächner 73 begrenzt ist, der eine Biegepressenumgebung umgibt. Dann kann eine Achtbaum-Darstellung 74 des dreidimensionalen Euklid'schen Modells 72 berechnet werden. Sobald die Achtbaum- Darstellung 74 berechnet ist, werden die überdeckenden Kanäle 76 berechnet.
- Die Biegepresse und ihre Umgebung können modelliert werden mit Benutzung ange messener geometrischer Modelle wie z. B. dem an der Carnegie Mellon University, Pittsburgh, Pennsylvania, entwickelten NOODLES-Modellsystems. In Abhängigkeit von dem eingesetzten geometrischen Modellsystem können die Biegepresse und ihre Umgebung durch Modellieren der Biegepresse und ihrer Hardware-Komponente als Festkörper modelliert werden unter Modellieren des umgebenden freien Raums als freien Raum. Zur Rechnungsvereinfachung kann es jedoch erwünscht sein, zuerst die Maschine, d. h. die Biegepresse und ihre Komponenten, als einen Festkörper zu modellieren und dann dieses Festkörpermodell der Biegepresse von einem gigantischen 3D-Festblock-Arbeitsraum abzuziehen, der dem die Biegepresseumgebung einschließenden Parallelflächner 73 in Fig. 10 entspricht. Die in Fig. 10 dargestellte Achtbaum-Repräsentation 74 kann dann aus der sich ergebenden Festkörper- Repräsentation des die Biegepresse umgebenden freien Raums gebildet werden, und die maximal überdeckenden Kanäle 76 können dann unter Beachten der Festzellen in der Achtbaum-Repräsentation bestimmt werden. Jeder Kanal kann in eine Kanaldatei ausgeschrieben werden und kann durch einen Satz von Koordinaten repräsentiert werden (z. B. cartesische Weltkoordinaten), die ein Paar einander gegenüberliegende Ecken jedes Kanals repräsentieren. Z. B. können sowohl eine untere linke Vorderecke und eine obere rechte Hinterecke jedes Kanals in cartesischen Koordinaten beschrieben werden, um die Begrenzungen jedes Kanals, der berechnet wurde, zu repräsentieren. Die sich ergebende "Kanaldatei" kann dann durch den Bewegungsexperten 44 gelesen werden, wenn er einen Initialisierungsbefehl von dem Biegefolgenplaner 70 empfängt.
- Wie in Fig. 11A und 11B gezeigt, kann die Achtbaum-Repräsentation 74 (Fig. 10) eine Achtbaum-Binärveredelung im dreidimensionalen Euklid'schen Raum des die Biegepresseumgebung einschließenden Raumes umfassen. Jedes Parallelflächner-Volumenelement, das teilweise gefüllt (d. h. gemischt) ist, wird weiter in acht Elemente aufgeteilt und dementsprechend markiert (d. h. als voll, gemischt oder leer) bis eine maximale Auflösung erreicht worden ist. Wie in der in Fig. 11A und 11B dargestellten Achtbaum-Repräsentation können die Volumenelemente mit binären Darstellungen von "0" für leere Parallelflächner, "1" für teilweise gefüllte Paraflelflächner und "2" für vollständige gefüllte Parallelflächner markiert werden.
- Fig. 11C und 11D sind vorgesehen, um die Beziehung zwischen einer Achtbaum-Zerlegung und den maximal überdeckenden Kanälen darzustellen, welche den Freiraumzellen der Zusammensetzung entsprechen. Fig. 11C zeigt jede Freiraumzelle der in Fig. 11A gezeigten Achtbaum-Repräsentation. Insgesamt 9 Freiraumzellen AA, BB, CC, ... II sind in der sich ergebenden Repräsentation in Fig. 11C dargestellt. Fig. 11D ist eine grafische Repräsentation der maximal überdeckenden Parallelflächner, die den in Fig. 11C dargestellten Freiraumzellen entsprechen. Ein erster maximal überdeckender Parallelflächner, repräsentiert durch die acht Gipfel oder Ecken (a, d, f, t, n, p, g, s) wird durch die vier Freiraumzellen (AA, BB, CC und GG) gebildet. Ein zweiter maximal überdeckender Parallelflächner enthält Gipfel (m, a, t, j, u, b, r, i) und wird durch die Freiraumzellen FF, AA, GG und EE gebildet. Ein dritter maximal überdeckender Parallelflächner wird repräsentiert durch Gipfel (j, t, f, h, k, w, e, y) und wird durch Freiraumzellen EE, GG, CC und DD gebildet. Ein vierter maximal überdeckender Parallelflächner kann durch Gipfel (l, o, q, x, m, a, c, v) repräsentiert werden und wird durch einen Anteil der Freiraumzellen FF, AA und BB gebildet, zusammen mit vollständig freien Raumzellen II und HH.
- Jeder der maximal überdeckenden Parallelflächner wird als Freiraumkanal angesehen und wird benutzt, um einen Lösungspfad durch die Kanäle von einer Startposition Qinit zu einer Zielposition Qgoal zu berechnen.
- Fig. 12A illustriert ein Beispiel eines Hauptalgorithmus, der durch den Grobbewegungs- Planungsmodul 44a ausgeführt werden kann, der im Bewegungsexperten 44 des in Fig. 11C dargestellten Planungs/Steuer-Systems 38 vorgesehen ist. In einem ersten Schritt S20 initiiert der Vorgang einen A*-Algorithmus durch Einsetzen eines Knotens n&sub0; auf einer OFFEN-Liste und Einstellen eines f-Werts gleich 0. Dann wird im Schritt S22 eine Entscheidung getroffen, ob die OFFEN-Liste leer ist oder nicht. Ist die OFFEN-Liste leer, geht der Vorgang weiter zum Schritt S24, an welchem die Spitze des Vorgangs mit einer Fehleranzeige austritt. Wenn die OFFEN-Liste nicht leer ist, geht der Vorgang weiter zum Schritt S26. Im Schritt S26 wird der Knoten mit dem kleinesten f-Wert von der OFFEN-Liste genommen und auf eine GESCHLOSSEN-Liste gesetzt, und dieser Knoten wird ni genannt. Dann wird im Schritt S28 eine Kollisionsprüfung ausgeführt, um zu bestimmen, ob die dem auf die GESCHLOSSEN- Liste gesetzten Knoten entsprechende Bewegung zu einer Kollision zwischen dem Roboter oder Werkstück und einer oder mehrerer Komponenten der Biegevorrichtung führt. Dann wird im Schritt S30 eine Entscheidung getroffen, ob die Kollisionsprüfung eine Kollision ergab. Ist das der Fall, so geht der Vorgang weiter zum Schritt S32, wo der geprüfte Knoten ausgeworfen, d. h. aus der Überlegung durch den Suchprozess ausgeschlossen wird, und der Vorgang kehrt dann zum Schritt S26 zurück. Wenn im Schritt S30 keine Kollision bestimmt wurde, geht der Vorgang weiter zum Schritt S34, welcher bestimmt, ob der Knoten eine Bewegung des Roboters ergibt, die innerhalb der Arbeitsraumgrenzen des Roboters liegt, oder nicht. Wenn die dem Knoten entsprechende Bewegung nicht innerhalb des Arbeitsraums des Roboters liegt, geht der Vorgang weiter zum Schritt S36, wo der Knoten modifiziert wird, um die Bewegung des Roboters so zu ändern, dass die gleiche wirksame Bewegung des Werkstücks veranlasst wird, während der Roboter innerhalb seiner definierten Arbeitsraumgrenze gehalten bleibt. Der modifizierte Knoten wird dann auf die OFFEN-Liste gesetzt. Der Vorgang kehrt dann zum Schritt S26 zurück. Wenn der Knoten sich, wie im Schritt S34 bestimmt wird, innerhalb des Roboter Arbeitsraums ist, geht der Vorgang vom Schritt S34 direkt zum Schritt S38, der prüft, ob der Knoten ni der Zielknoten ist. Ist der Knoten ni der Zielknoten, so geht der Vorgang weiter zum Schritt S40, wo ein Lösungspfad erzeugt wird, und danach kehrt der Vorgang zurück.
- Wenn der Knoten ni nicht der Zielknoten ist, geht der Vorgang vom Schritt S38 zum Schritt S42, an welcher Stelle der Knoten ni erweitert wird, um seinen Nachfolger oder Folgeknoten nj zu erhalten. Dann wird für jeden erweiterten/Nachfolger-Knoten nj jeder der Schritte S44, S46 und S48 ausgeführt. Im Schritte S44 wird ein h-Aufwand berechnet, der die annähernde Zeit zum Durchlaufen des Euklid-Abstands von dem Knotenort zum Ziel ist. Im Schritt S46 wird der k-Aufwand berechnet als die Laufzeit von dem vorherigen Knotenort zu dem gegenwärtigen Nachfolger-Knotenort. Dann wird im Schritt S48 der f-Wert gemäß der folgenden Gleichung berechnet:
- f(nj) = (k' + h), wobei k' gleich der Summe der k-Werte für jeden der Knoten in dem Suchbaum von dem Anfangsknoten n&sub0; zum dem gegenwärtigen Folgeknoten nj ist.
- Nachdem jeder der Schritte S44, S46 und S48 für jeden Nachfolger-Knoten nj ausgeführt wurde, werden die Nachfolger im Schritt S50 zusammen mit ihren berechneten f-Werten und mit Zeigern zu ihren Eltern-Knoten auf die OFFEN-Liste gesetzt.
- Beim Erweitern eines Knotens ni, um seinen Nachfolgerknoten nj zu erhalten, werden die Nachfolgerknoten nj so bestimmt, dass sie jeweilige Bewegungen innerhalb definierter Teilsätze von Bewegungen enthalten, die innerhalb jedes der Kanäle unternommen werden können, in welchen der Roboter und das Werkstück sich befinden (an der dem Eltern-Knoten ni entsprechenden Position). Für jeden Kanal, der den gegenwärtigen Ort des Roboters und des Werkstücks am Knoten ni überdeckt, kann der Bewegungsteilsatz das folgende (in cartesischen Weltkoordinaten) enthalten:
- (a) Bewegen ±90º um Quer- und Hochachse; (Stampfen, Gieren)
- (b) Bewegen ± 90º um Querachse; (Stampfen)
- (c) Bewegen ± 90º um Hochachse; (Gieren)
- (d) Verschieben zu einer von acht Ecken eines gegenwärtigen Kanals, in dem der Roboter positioniert ist;
- (e) Verschieben zum Ziel, falls das Ziel in einem gegenwärtigen Kanal ist, und wenn nur eine Verschiebung (d. h. keine Verdrehung) zum Bewegen zum Ziel benötigt wird;
- (f) Die X-Komponente zum Ziel bewegen;
- (g) Die Y-Komponente zum Ziel bewegen; und
- (h) Die Z-Komponente zum Ziel bewegen.
- Die vorstehend beschriebenen Grobbewegungsabschnitte innerhalb eines gegenwärtigen Kanals, die zum Bilden der Nachfolgerknoten nj benutzt werden können, sind in Fig. 12C aufgelistet.
- Wie vorstehend in dem Grobbewegungs-Planungsvorgang der Fig. 12A und 12B bemerkt, wird jeder Nachfolgerknoten, der bei einem bestimmten Niveau der Suche als der mit dem kleinsten f-Wert angesehen wird, im Schritt S34 geprüft, um zu bestimmen, ob der Roboter innerhalb seiner definierten Arbeitsraumgrenzen bleibt. Wenn der Roboter sich nicht innerhalb seiner definierten Arbeitsraumgrenzen befindet, geht der Vorgang vom Schritt S34 weiter zum Schritt S36, wo der Knoten so abgewandelt wird, dass das Werkstück in einer gleichartigen Weise manipuliert werden kann, jedoch der Roboter innerhalb seiner Arbeitsraumgrenzen bleibt.
- Fig. 13 zeigt eine Seitenansicht eines ein Werkstück 17 haltenden Roboters 16. Der Roboter 16 hat verbundene Koordinaten YJ und ZJ und cartesische Weltkoordinaten YW und ZW, die zum Definieren von Bewegungen des Roboters mit Bezug auf einen bestimmten Werkzeugmittelpunkt (tool centerpoint TCP) zu definieren, der sich auf die Position des Robotgreifers bezieht. Unter den verschiedenen Grobbewegungsvorgängen (in Fig. 12C aufgelistet), die als ein Nachfolgerknoten nj im Schritt S42 des in Fig. 12A-12B dargestellten Grobbewegungs- Planungsvorgangs angegeben sein kann, können solche Bewegungen unmöglich sein, da sie den Roboter 16 aus seinen Arbeitsraumgrenzen heraus bringen können. Fig. 13 zeigt eine für die Arbeitsraumgrenzen des Roboters bezeichnende Linie 15. Eine derartige Linie kann mit Benutzung einer oder mehrerer angemessener Gleichung(en) (z. B. einer linearen Gleichung) berechnet werden, aufgrund der Dimensionen und Betätigungsbeziehungen verschiedener bewegbarer Komponenten des Roboters 16; oder die Linie 15 kann empirisch bestimmt werden, indem der Roboter 16 zu verschiedenen seiner Maximalorte in seinem gesamten Arbeitsraum gebracht wird.
- Unter den Grobbewegungsvorgängen, die durch die Arbeitsraumlinie 15 begrenzt werden, sind die Menge ΔZ in der negativen ZW-Richtung, in welcher der Roboter von einem bestimmten Ort weg bewegt werden kann, und die Menge ΔY in der -YW-Richtungen, in der der Roboter bewegt werden kann. Wenn eine große ΔY in der -YW-Richtung erwünscht ist, kann eine vergrößerte ZW-Koordinate (in der +ZW-Richtung) nötig sein, um den Roboter innerhalb seines Arbeitsraums zu halten, wie er durch die Linie 15 definiert wird. Wenn ein großes ΔZ in der -ZW-Richtung erwünscht ist, kann eine erhöhte YW-Koordinate (in der +YW-Richtung) nötig sein, um den Roboter in seinem Arbeitsraum zu halten. Modifizierungen dieser Art werden im Schritt S36 des in Fig. 12A dargestellten Grobbewegungs-Planungsvorgangs ausgeführt, bevor ein Knoten mit solchen Modifizierungen auf die OFFEN-Liste zurückgesetzt und zum Schritt S26 zurückgebracht wird. Gleichartige Modifizierungen können bei anderen Grobbewegungsvorgängen angestellt werden, die als Nachfolgerknoten nj zu betrachten sind, wie die Fig. 12C dargestellten Bewegungen. Wenn beispielsweise eine bestimmte Änderung in Stampf- und Gierbewegungen den Roboter aus seinen Arbeitsraumgrenzen herausbringt, kann eine Modifizierung einer oder mehrerer anderer Koordinate(n) des Roboters in Verbindung mit der Änderung in Stampf- und Gierbewegungen den Roboter in seine Arbeitsraum grenzen zurückbringen.
- Fig. 14 stellt ein Werkstück 17 nach Fertigstellung einer 90º-Biegung mit Biegefolgung, komprimiert zwischen einem Drückwerkzeug 20 und einer Form 22 dar. Das Werkstück 17 ist nun zum Entnehmen aus dem Formraum bereit durch Bewegen in einer -Z-Richtung, einer -Y- Richtung und in der +P-Richtung (d. h. durch Erhöhen des Stampfwinkels P, um das Werkstück zu einer horizontalen Position nach unten zu bringen). Die Zielposition des Werkstücks 17 ist eine Position, in der das Werkstück in im wesentlichen horizontaler Lage aus dem Formraum entnommen und von dem Drückwerkzeug 20 und der Form 22 entfernt ist. Wie vorher bemerkt, kann der Werkzeugbestückungsexperte 32 (siehe Fig. 14) des Planungs/- Steuer-Systems 38 mit einem Feinbewegungs-Planungsmodul 43a versehen sein, der einen Bewegungsplan erzeugt, der eine Liste von durch einen Roboter auszuführenden Folgebewegungen enthält zum Ausführen einer oder beider Bewegungen: (1) Einladen des Werkstücks 17 in den Formraum, und (2) Entladen des Werkstücks 17 aus dem Formraum nachdem der Biegevorgang gerade abgeschlossen ist. Jede komplette Folgeliste von Bewegungen ist in den durch den Bewegungsexperten 44 erzeugten Grobbewegungsplänen integriert.
- Fig. 15 schafft eine Darstellung eines Biegefolgeplaners (BFP) 40, eines Werkzeugbestückungsexperten (WBE) 43 und eines Feinbewegungs-Planungsmodul 43a, und des Dialogs, der zwischen diesen Modulen während der Erzeugung eines Plans durch das in Fig. 4 dargestellte Planungs/Steuer-System geführt wird. In einer ersten Abfrage Q1 richtet der Biegefolgeplaner 40 eine Anfrage an den Werkzeugbestückungsexperten 43, zusammen mit einem CALL_FINE_MOTION genannten Merker, der entweder auf WAHR oder FALSCH gesetzt wird. Falls CALL_FINE_MOTION auf WAHR gesetzt wird, wird der Werkzeugbestückungsexperte 43 zur Berechnung eines Feinbewegungspfades/Planes instruiert. Wenn der Merker FALSCH ist, wird kein Feinbewegungsplan berechnet und es werden andere Betätigungen vom Werkzeugbestückungsexperten ausgeführt. Das Setzen des Merkers auf FALSCH kann z. B. nützlich sein, wenn der Biegefolgeplaner 40 bereits den Feinbewegungsplan kennt, da er vorher für eine identische Biegung berechnet worden war.
- Wenn der CALL_FINE_MOTION-Merker WAHR ist, sendet der Werkzeugbestückungsexperte 43 darauf eine Anfrage Q2 an den Feinbewegungs-Planungsmodul 43a, der eine Ausführung des Feinbewegungs-Planungsmoduls 43a veranlaßt. Der Feinbewegungs-Planungsmodul 43a gibt dann in Reaktion R2 eine Variable FINE_MOTION_COST an den Werkzeugbestückungsexperten 43 zurück. Die Variable ist 0, wenn ein Feinbewegungsplan erzeugt werden kann, oder unendlich, wenn kein Feinbewegungsplan erzeugt werden kann. Zusätzlich gibt, wenn ein Feinbewegungsplan erzeugt werden kann, der Feinbewegungs-Planungsmodul 43a in Reaktion R2 ein FINE_MOTION_PLAN-Datenstruktur zurück, die eine Liste von in Folge durch den Roboter auszuführenden Bewegungen enthält, um das Werkstück von einer Ausgangsposition qi zu einer Zielposition qg zu bringen. Die FINE_MOTION_PLAN- Datenstruktur kann z. B. zwei Listen enthalten, von denen die erste Liste die Folge von Bewegungen repräsentiert, die zum Laden des Werkstücks in den Formraum auszuführen sind, und die zweite Liste eine Folge von Bewegungen umfasst, die zum Entladen des Werkstücks aus dem Formraum auszuführen ist, nachdem die Biegung mit Biegefolge abgeschlossen wurde.
- Das Nachfolgende ist ein Beispiel von Daten in FEL, die durch den Feinbewegungs-Planungsmodul 43a erzeugt werden und dem Werkzeugexperten 43 über Reaktion R2 weitergegeben werden können:
- (FINE_MOTION_COST 0)
- (FINE_MOTION_PLAN (([erste Liste von Folgebewegungen, entsprechend dem Laden des Werkstücks in den nun leeren Formraum] )
- ((0,00 0,00 -30,00) (0,00 -50,00 0,00) (5,00 0,00 -5,00)
- (5,00 0,00 -5,00) (0,00 -5,00 0,00) (5,00 0,00 -5,00)
- (0,00 -15,00 0,00) (5,00 0,00 -5,00) (5,00 0,00 -5,00)
- (0,00 -5,00 0,00) (5,00 0,00 -5,00) (0,00 -45,00 0,00)
- (5,00 0,00 5,00) (5,00 0,00 5,00) (5,00 0,00 5,00)
- (0,00 0,00 5,00)
- )
- )
- Jede der Bewegungen, die in der zweiten (Entlade-)Liste von Bewegungen aufgelistet sind, die in dem Beispiel FINE_MOTION_PLAN Datenstruktur vorgesehen ist, umfasst einen Relativbewegungsvektor im C-Raum und repräsentiert so die Bewegung in Kombination aus Roboter und Werkstück 16/17 als Punkt im C-Raum. Jeder Relativbewegungsvektor wird angegeben mit P in Graden, Y in mm, Z in mm. Dementsprechend bezeichnet die erste Bewegung in der Entladeliste, die (0,00 0,00 -30,00) ist, eine Abwärtsbewegung des Werkstücks um 30 mm (in der -Z-Richtung) von seiner vorherigen Position. Der nächste Relativbewegungsvektor (0,00 -50,00 0,00) bezeichnet eine Bewegung des Werkstücks, um das Werkstück um 50 mm (nach links in Fig. 14) aus dem Formraum zu nehmen. Der dritte Relativbewegungsvektor (5,00 0,00 -5,00) bezeichnet, dass das Werkstück um 5º um die Querachse zu einer horizontalen Position und gleichzeitig um 5 mm in der Z-Richtung nach unten bewegt wird.
- Sobald die FINE_MOTION_COST-Variable und die FINE_MOTION_PLAN-Datenstruktur in der Reaktion R2 zum Werkzeugbestückungsexperten 43 zurückgeführt werden, wird der Werkzeugbestückungsexperte 43 daraufhin die FINE_MOTION_COST- und FINE_ MOTION_PLAN-Information zusammen mit anderer werkzeugbezogener Information in der Reaktion R1 zum Biegefolgeplaner 40 zurückführen.
- Fig. 16 stellt verschiedene Module dar, die sich auf den Abschluss der Feinbewegungspläne beziehen, einschließlich der Integration der Feinbewegungspläne in die Grobbewegungspläne zur Bildung der Gesamtfolge von auszuführenden Bewegungen. Die Figur zeigt einen Biegefolgeplaner BFP 40, einen Bewegungsexperten ME 44 und einen Abschluss-Feinbewegungsmodul 44b. Der Biegefolgeplaner 40 gibt alle Feinbewegungspläne in eine Folge zusammen, sobald alle Biegungen in einer Biegefolge erzeugt wurden und der Suchvorgang durch den Biegefolgeplaner 40 abgeschlossen wurde. Die sich ergebenden Feinbewegungspläne werden zusammen mit anderer Bewegungsinformation in einer Abfrage Q3 zum Bewegungsexperten 44 weitergegeben. Der Bewegungsexperte 44 gibt dann ein Datenstruktur FI- NE_MOTION_SEQUENCE weiter zum Abschluss-Feinbewegungsmodul 44b, in Abfrage Q4. Der Abschluss-Feinbewegungsmodul 44b wandelt dann die in der FINE_MOTION_ SEQUENCE-Datenstruktur vorhandenen relativen C-Raum-Bewegungsvektoren in Relativbewegungsvektoren in TCP-Roboterweltkoordinaten. Der Abschluss-Feinbewegungsmodul 44b gibt dann in Reaktion R4 eine FINE_MOTION_POSITION-Datenstruktur zusammen mit Bewegungsbefehlen zum Bewegungsexperten 44 weiter. Die Datenstruktur enthält Relativbewegungsvektoren in TCP-Roboterweltkoordinaten, welche Relativbewegungsvektoren Feinbewegungs- Positionsbefehle bezeichnen, die zur Ausführung des Feinbewegungsplanes zu dem Niedrigniveau-Robotbahnplaner gesendet werden. Der Bewegungsexperte 44 nimmt dann die FINE_MOTION_POSITION-Daten und integriert diese mit Grobbewegungsbefehlen zur Bildung einer vollständigen integrierten Grob- und Feinbewegungs-Befehlsstruktur in TCP-Roboterweltkoordinaten, die zur Ausführung der Bewegungen an einen Niedrigniveau-Robotbahnplaner weitergegeben werden kann.
- Fig. 17A-17B umfasst ein Flußdiagramm eines Feinbewegungs-Planungsvorgangs, der von dem Feinbewegungs-Planungsmodul 43 ausgeführt werden kann, welcher um Werkzeugbestückungsexperten 43 des in Fig. 4 dargestellten Planungs/Steuer-Systems 2B vorgesehen ist. In einem ersten Schritt S64 des Feinbewegungs-Planungsvorgangs werden die 3D- Modelle des Drückwerkzeugs und des Werkstücks gelesen und verschiedene Initialisierungsschritte ausgeführt. Im Schritt S66 werden die Zielparameter aufgrund der Werkzeug- und Teilegeometrie und der gewünschten Freiräume zusammengestellt. Die Zielparameter werden im C-Raum bezeichnet und bezeichnen die Zielposition qg, z. B. qg(2), wie in Fig. 8 gezeigt.
- Es ist zu bemerken, dass der in Fig. 17A-17B abgebildete Feinbewegungs-Planungsalgorithmus das Entladen eines Werkstücks aus einem Formraum plant und so einen Bewegungspfad von einer Position qi(2) zu einer Zielposition qg(2) plant, wie in Fig. 8 dargestellt.
- Im Schritt S68 wird ein Begrenzungskasten berechnet, der das Teil innerhalb der Biegelinie (d. h. in dem Werkzeughohlraum innerhalb der Biegelinie) umgibt. Der Begrenzungskasten umgibt das Werkstück in seinem gegenwärtigen Zustand, gebogen an der gegenwärtigen Stelle in der Biegefolge. Dann werden die Schlüsselgeometrie-Eigenschaften wie die Höhe und Breite des Begrenzungskastens (längs der Z- und Y-Dimensionen in cartesischen Weltkoordinaten) berechnet. Im Schritt S70 wird bestimmt, ob ein einfacher kollisionsfreier Pfad bestimmt werden kann durch Bestimmen, ob die Schlüsseleigenschaften (die Höhe und die Breite des Begrenzungskastens) Begrenzungen genügen, die durch die Werkzeuggeometrie und die Formöffnung auferlegt werden. Z. B. kann eine Bestimmung hergestellt werden, ob die Höhe und Breite des Begrenzungskastens durch die Formöffnung passt, sobald die Form auf einen gewissen Punkt abgesenkt ist. Wenn im Schritt S70 ein einfacher kollisionsfreier Pfad bestimmt werden kann, geht der Vorgang (über Verbinder A) weiter zum Schritt S74, der an der Oberseite der Fig. 17B angegeben ist.
- Wenn kein einfacher kollisionsfreier Pfad bestimmt werden kann, geht der Vorgang vom Schritt S70 zum Schritt S72, an welcher Stelle der Vorgang verschiedene intelligente Suchrichtungen prüft, um zu bestimmen, ob solche intelligente Suchrichtungen verwirklichbar sind. Die verwirklichbaren intelligenten Suchrichtungen werden dann als Knoten an eine OFFEN- Liste angehängt, mit dem jedem angehängten Knoten entsprechenden jeweiligen Aufwand. Schritt S72 erzeugt rasch Knoten, die in der Nähe der Zielposition liegen. Die intelligenten Suchrichtungen werden gemäß den virtuellen Konfigurationsraum-(VC-Raum)Relativvektoren bezeichnet und geprüft, um zu sehen, ob sie durch Ausführen einer negativen Überschneidung des zwischengebogenen Werkstücks (in seiner gegenwärtigen Form in der Biegefolge) mit dem Drückwerkzeug durchführbar sind. Wenn die negative Überschneidung bezeichnet, dass eine Kollision zwischen dem zwischengebogenen Werkstück und dem Drückwerkzeug auftritt, ist der Knoten nicht ausführbar. Sonst ist der Knoten ausführbar und wird der OFFEN-Liste hinzugefügt.
- Nach Schritt S72 geht der Vorgang weiter zum Schritt S78, wo eine A* -Feinbewegungssuche ausgeführt wird, bis das Ziel erreicht oder die OFFEN-Liste leer ist. Dann wird im Schritt S80 bestimmt, ob das Ziel erreicht wurde. Wenn das Ziel erreicht wurde, geht der Vorgang weiter zum Schritt S76, wo der Feinbewegungs-Planungsmodul FINE_MOTION_COST und FINE_MOTION_PLAN enthaltende Information an den Werkzeugbestückungsexperten zurückgeführt wird. Wenn im Schritt S80 bestimmt wird, dass das Ziel nicht erreicht wurde, geht der Vorgang weiter zum Schritt S82, und ein FINE_MOTION_COST von der Größe unendlich wird dem Werkzeugbestückungsexperten zugesendet.
- In dem Modellierungsbereich, d. h. um das Teil zu modellieren, wie es in verschiedene Positionen bewegt wird, die durch relative virtuelle Konfigurationsraum- (VC-Raum)Vektoren bezeichnet sind, wird ein Modell aufrecht erhalten, das die Geometrie und den Ort des Teils mit Bezug auf die Werkzeuggeometrie repräsentiert, und der Geometriemodellierer (z. B. NOODLES) bewegt das modellierte Teil im Euklid'schen Raum (um einen Betrag, der dem jeweiligen relativen VC-Raumvektor entspricht), um mit Bezug auf die Werkzeugbestückung ein unterschiedlich positioniertes Modell des Teils zu bilden.
- Fig. 18 ist ein Flußdiagramm, welches die durch den intelligenten Suchalgorithmus ausgeführten Schritte darstellt, wie sie im Schritt S72 des in Fig. 17A-17B dargestellten Bewegungsplanungsvorgangs bezeichnet sind. In einem ersten Schritt S84 des intelligenten Suchalgorithmus initialisiert der Suchvorgang verschiedene Stufengrößen. Bei der dargestellten bestimmten Ausführungsform werden die Stufengrößen initialisiert als: dP (eine Stampf- Änderung) = 5º, dY (eine Veränderung in Y-Richtung) = 5 mm, dZ (eine Änderung in Z- Richtung) = 5 mm und Schritt Y = -5. Der einer ersten vorgeschlagenen intelligenten Suchrichtung entsprechende relative Bewegungsvektor V wird im Schritt S86 auf [0,0,-dZ] gesetzt. Dann wird im Schritt S88 das Teil in den Modellierungsbereich um V zu einer neuen Position S' bewegt. Im Schritt S90 wird ein Kollisionstest ausgeführt, d. h. eine negative Überschneidung zwischen dem Teil und dem Werkzeug ausgeführt, um zu bestimmen, ob durch Bewegen des Teils in die neue Position S' eine Kollision auftritt. Tritt durch Ausführen einer solchen Bewegung eine Kollision auf, wird im Schritt S110 der vorher kollisionsfreie (nicht- Initial-) Knoten (wenn an der gegenwärtigen Stelle in dem Vorgang einer vorhanden ist) an die OFFEN-Liste angehängt. Dann wird im Schritt S108 der Wert Schritt Y um einen gewissen Betrag (unter Ausschluß von 0) erhöht. Wenn Schritt Y bereits an dieser Stelle des Vorgangs +5 ist, tritt der Vorgang aus und kehrt zum Feinbewegungs-Planungsvorgang zurück. Nach Ausführen des Schrittes S108 wird im Schritt S106 das Teil durch Definieren des Vektors als V = [0,SchrittY,-dZ] zurückgesetzt, und der Vorgang kehrt zum Schritt S88 zurück, wo das Teil als Ergebnis des in Schritt S106 bezeichneten Vektors V zu einer neuen Position S' bewegt wird.
- Wenn im Schritt S90 bestimmt wurde, dass durch Bewegen des Teils zu der neuen Position S' keine Kollision auftritt, geht der Vorgang weiter zum Schritt S92, an welcher Stelle ein Merker Progress_Y zurückgesetzt wird. Der Vorgang geht dann weiter zum Schritt S94, wo das Teil (im Modellierungsbereich) um [0,-dY,0] bewegt wird. Es wird im Schritt S96 bestimmt, ob eine Kollision beim Bewegen des Teils in der im Schritt S94 bezeichneten Weise auftritt. Wenn eine Kollision auftritt, geht das Verfahren weiter zum Schritt S114. Wenn keine Kollision auftritt, geht der Vorgang weiter zum Schritt S98, wo der Merker Progress_Y gesetzt wird. Nach dem Schritt S98 wird im Schritt S100 bestimmt, ob die Position des Teils in dem Modellierungsbereich eine Zielposition in der Y-Richtung erreicht hat. Falls das Teil seine Zielposition in der Y-Richtung nicht erreicht hat, kehrt der Vorgang zum Schritt S94 zurück, an welcher Stelle das Teil um ein zusätzliches Stück [0,-dY,0] bewegt wird.
- Wenn eine Kollision erfasst wurde, wie durch die Bestimmung im Schritt S96 bezeichnet, geht des Vorgang zum Schritt S114 weiter, an welcher Stelle der vorher kollisionsfreie (nicht- Initial) Knoten an die OFFEN-Liste angehängt wird. Dann wird im Schritt S116 bestimmt, ob der Merker Progress_Y gegenwärtig auf 1 gesetzt ist. Wenn der Merker Progress_Y auf 1 gesetzt ist, geht der Vorgang weiter zum Schritt S118, wo das Teil um [dP,(2*dY'),-dZ] bewegt wird. Der Vorgang geht dann weiter zum Schritt S112, um zu überprüfen, ob wahrscheinlich eine Kollision als Ergebnis der im Schritt S118 bezeichneten Bewegung auftritt. Wenn keine Kollision auftritt, geht der Vorgang vom Schritt S112 zum Schritt S92. Wenn eine Kollision nach der Bestimmung im Schritt S112 auftritt, geht der Vorgang weiter zum Schritt S104, wo das Teil zu der vorigen S'-Position zurückgesetzt wird. Der Vorgang geht dann direkt weiter zum Schritt S88, wo das Teil um den Vektor V zu einer neuen Position S' bewegt wird.
- Wenn im Schritt S100 bestimmt wurde, dass die Zielposition längs der Y-Richtung erreicht wurde, geht der Vorgang weiter zum Schritt S102, wo der gegenwärtige Knoten, der für den letzten Satz von Bewegungen, bei denen keine Kollision erfasst wurde, bezeichnend ist, an die OFFEN-Liste angehängt wird. Der Vorgang kehrt dann zu dem in Fig. 17A-17B dargestellten Feinbewegungs-Planungsvorgang zurück und ist so bereit für die im Schritt S78 ausgeführte A*-Bewegungssuche.
- Fig. 19 stellt den A*-Feinbewegungsalgorithmus dar, der im Schritt S78 des in Fig. 17A- 17B dargestellten Feinbewegungs-Planungsvorgangs bezeichnet ist. In einem ersten Schritt S120 wird bestimmt, ob die OFFEN-Liste leer ist. Ist die OFFEN-Liste leer, geht der Vorgang weiter zum Schritt S122, wo die Suche mit Fehlerbezeichnung austritt. Wenn die OFFEN-Liste nicht leer ist, geht der Vorgang vom Schritt S120 weiter zum Schritt S124, an welcher Stelle der Knoten mit dem geringsten Aufwand von der OFFEN-Liste genommen und an eine GESCHLOSSEN-Liste gesetzt wird. Dieser Knoten wird ni genannt. Im Schritt S126 wird bestimmt, ob der Knoten und ni sich an dem Ziel befinden. Falls der Knoten ni am Ziel ist, geht der Vorgang direkt zum Schritt S128 weiter, wo der Lösungspfad erzeugt wird. Falls der Knoten ni nicht am Ziel ist, geht der Vorgang vom Schritt S126 zum Schritt S130 weiter, wo der Knoten ni erweitert wird, um machbare Nachbarschaftsknoten zu erhalten, welche die Folgeknoten nj des Elternknotens ni bilden. Die Folgeknoten nj werden mit ihren jeweiligen Aufwänden (Kosten) an die OFFEN-Liste angehängt. Die Nachbarschaftsknoten umfassen eine Vielzahl, (d. h. 26), Nachbarschaftspositionen, welche in drei Dimensionen die Position des Werkstücks am Elternknoten ni umgeben. Um zu bestimmen, ob jeder Nachbarschaftsknoten machbar ist, und ob jeder Knoten der OFFEN-Liste hinzugefügt werden soll, wird eine Kollisionsprüfung ausgeführt. Wenn ein geometrischer Überschneidungstest positiv zurückgeführt wird (was bezeichnet, dass keine Kollision auftritt), wird der Nachbarschaftsknoten zusammen mit seinem Aufwand an die OFFEN-Liste angehängt. Der Algorithmus benutzt den Euklid'schen Abstand von dem bestimmten Nachbarschaftsknoten zu dem Zielknoten als ein Maß für den Aufwand (Kosten), welcher Aufwand ein h-Aufwand ist. Es wird bemerkt, dass auch ein für einen k-Aufwand bezeichnender Wert bestimmt werden und jedem Folgerknoten zugeordnet werden kann. Jedoch wird in der dargestellten Ausführungsform kein k-Aufwand benutzt, so dass die mit der A*-Suche verbundene Rechenzeit minimiert werden kann.
- Der A*-Algorithmus für die Feinbewegungssuche in Fig. 19 hält an, bis entweder das Ziel erreicht ist oder bis die OFFEN-Liste leer wird, je nachdem, was zuerst auftritt.
- Fig. 20 stellt die relevanten Abschnitte der Folgesteuerung 46 dar, die zum Steuern der Bewegungen des Roboters benutzt werden, und die verschiedene dabei entsprechende Hardware und Sensoren 47. Die Folgesteuerung 46 enthält unter anderen Bestandteilen eine Robotaufgabe 52, die mit einem allgemeinen Bewegungsmodul 54 und einem auf Sensoren beruhenden Bewegungsmodul 56 gekoppelt ist. Der allgemeine Bewegungsmodul kann eine allgemeine Bewegungsbibliothek von Funktionen enthalten, und der auf Sensor beruhende Bewegungsmodul kann eine auf Sensoren beruhende Bewegungsbibliothek von Funktionen umfassen. Jeder der allgemeinen Bewegungs- und auf Sensoren beruhenden Bewegungsmodule ist mit einem Bahngenerator 60 verbunden, der wiederum mit einem Invers-Kinematikmodul 58 verbunden ist. Ein Filter 62, das ein mit Softwarekode ausgeführte digitales Tiefpassfilter umfassen kann, hat einen Ausgang, der an einem Eingang des auf Sensor beruhenden Bewegungsmoduls 56 verbunden ist. Jede der Komponenten der Folgesteuerung 60 einschließlich Invers-Kinematikmodul 58 und Filter 62 ist über entsprechende Gerätetreiber und Hardware-Schnittstellen an Hardware/Sensoren 47 angeschlossen, die gemäß der darauf bezüglichen Anmeldungen USSN 08/338 113 mit dem Titel "Intelligent System for Generating and Executing a Sheet Metal Bending Plan" von David Alan Bourne u. a. ausgeführt sein können, und weiter, wie es auch in der Programmdokumentation für die CHIMERA II Realzeit- Programmierungsumgebung, Version 1.02 (24. Oktober 1990) von David B. Stewart u. a., herausgegeben von der Carnegie Mellon University, Pittsburgh, Pennsylvania, beschrieben ist.
- Das Invers-Kinematikmodul 58 ist über einen entsprechenden Gerätetreiber-Mechanismus mit einer oder mit mehreren Robotservosteuerung(en) 48 verbunden, von denen jede wiederum mit dem Roboter 16 verbunden ist. Das Filter 62 ist an einer oder an mehreren A/D- Platinen 50 angeschlossen, von denen jede mit einem Sensor oder mehreren Sensoren 64 verbunden ist. Jede Robotservosteuerung 48 ist direkt mit dem auf Sensor beruhenden Bewegungsmodul 56 verbunden, über eine Leitung 49, die zum Übertragen von Ablesungen von einer Robotservosteuerung 48 bezüglich der fünf Achsenpositionen des Roboters 16 eingesetzt wird, so dass das auf Sensor beruhende Bewegungsmodul 56 irgendwelche notwendigen Abänderungen an der Positionsinformation vornehmen kann, um irgendwelche eigenständige Begrenzungen des Roboters zu berücksichtigen oder so, dass das auf Sensor beruhende Robotersteuermodel 56 weiß, ob der Roboter sich tatsächlich entsprechend den angelegten Steuerbefehlen bewegt. Jedes von dem allgemeinen Bewegungssteuermodul 54 und dem auf Sensoren beruhenden Bewegungssteuermodul 56 wird durch die Roboteraufgabe 52 der Folgesteuerung 46 gesteuert, und jede richtet die Bewegung des Roboters 16 von verschiedenen Ausgangspositionen zu Zielpositionen.
- Jedes der Bewegungssteuermodule 54, 56 leitet während seiner jeweiligen Betriebszeit die Direktbewegung des Roboters durch Ausgeben einer Liste von Knotenpunkten im cartesischen Raum, durch welche der Roboter 16 bewegt werden soll, um von einer Ausgangsstartposition Qi zu einer Zielposition Qg zu gehen. Die Liste von Knotenpunkten, bei denen jeder Punkt einer aufeinanderfolgenden Position längs eines freien Wegs von Qi bis Qg entspricht, wird dann einem Bahngenerator 60 eingegeben, welcher eine Spline-Funktion für jede Koordinate des Roboters 16 berechnet. Jede Spline-Funktion erstreckt sich zwischen einem Paar benachbarter Knotenpunkte. Die sich ergebenden Spline-Funktionen werden dann dem Invers-Kinematikmodul 58 eingegeben, um die entsprechende Information zu vereinigten Raumdarstellungen zum Steuern der Bewegung des Roboters in verbundenen Koordinaten zu wandeln. Die eine oder die mehrere Roboterservosteuerungen 48 führen Bahnverfolgung von jeweiligen Achsen des Roboters in Übereinstimmung mit den dazu eingegebenen Spline- Funktionen aus.
- Das auf Sensor beruhende Bewegungssteuermodul 56 ist zur Bewegungssteuerung des Roboters in Situationen vorgesehen, wo Erfassung nötig ist, wie etwa beim Ausführen eines Biegefolgebetriebs, der dem Schritt S92 des in Fig. 7 gezeigten Flußdiagramms und Schritt S8 des in Fig. 5 dargestellten Gesamtbiegevorgangs entspricht. Ein Erfassungs-Rückkoppelmechanismus ist in Fig. 20 dargestellt, so dass auf Sensoren beruhende Bewegungspläne ausgeführt werden können. Der Erfassungs-Rückkoppelmechanismus umfasst einen oder mehrere Sensoren 64, eine oder mehrere A/D-Platinen 50 und ein Filter 62, die in Kaskade über eine Erfassungs-Rückkoppelleitung 63 mit dem auf Sensor beruhenden Bewegungssteuermodul 56 verbunden sind. Der Sensor oder jeder der Sensoren 44 ist an seinem Ausgang mit einer oder mit mehreren A/D-Platinen verbunden, um die durch die Sensoren erzeugten Analogsignale in Digitalsignale zu wandeln, die durch die Folgesteuerung 46 in Digitalform manipuliert werden können. Das Filter 62 ist zwischen die Ausgabe-A/D-Platinen 50 und einen Eingang des auf Sensor beruhenden Bewegungssteuermoduls 56 gesetzt, um unerwünschtes (z. B. hochfrequentes) Rauschen auszufiltern, das in den durch die Sensoren erzeugten Signalen vorhanden sein kann.
- Es ist zu bemerken, dass jede der Roboterservosteuerungen 48 eine bei Allen Bradley erhältliche Creonic-Bewegungssteuerung Modell: MCCII S/W/ROM#255991.0 umfassen kann Entsprechend der in Fig. 20 gezeigten Ausführungsform ist jede Roboterservosteuerung 48 fähig, Roboterbetätigungskoordinaten, d. h. die aktuelle Positionierung der Roboterstellglieder zu berechnen, und dementsprechend angemessene Signale an die Mikroschalter und Schrittmotoren des Roboters 16 auszugeben, um dessen Bewegung zu steuern.
- Fig. 22-27 stellen Momentdarstellungen eines modellmäßigen Werkstückes dar, wobei das Werkstück mit Drückwerkzeug und Form in Beziehung ist, beim Entladen des Werkstücks, nachdem ein Biegungsvorgang mit Biegungsfolge ausgeführt wurde. Die Beispiele stellen die allgemeinen Bewegungen dar, die während des Lösens der Biegepresse und Entladen des Werkstücks aus dem Formraum durchgeführt werden. In Fig. 22 wird in Ansicht (b) die Form abgesenkt, wodurch sich die Form von dem Drückwerkzeug löst, und das Werkstück wird gleichzeitig in der Y-Richtung abgesenkt. Dann wird das Werkstück in der Y-Richtung zurückgezogen, und die Schrägstellung (um die Querachse) des Werkstücks wird erhöht, was das Werkstück näher zu einer horizontalen Position bringt. Das Werkstück liegt dann in der Zielposition, wie in der unteren rechten Ecke der Fig. 22 bezeichnet.
- In Fig. 23 beginnt das Werkstück in seinem eingeladenen Biegezustand in Ansicht (a) und geht dann zur Ansicht (b) weiter durch gleichzeitiges Absenken des Werkstücks in der Z- Richtung und Lösen der Form von dem Drückwerkzeug. Dann wird das Werkstück in der -Y- Richtung bewegt, wie in Ansicht (c) angezeigt, bis es das Drückwerkzeug berührt. Das Werkstück wird gleichzeitig in der -Y- und -Z-Richtung bewegt, bis es von dem Drückwerkzeug freikommt, wie in Ansicht (d) bezeichnet. Dann wird das Werkstück in der -Y-Richtung bewegt, bis es die in der Ansicht (e) bezeichnete Position erreicht. Dann wird die Schrägstellung des Werkstücks erhöht, was das Werkstück zu einer Horizontalposition bringt, wie in Ansicht (f) bezeichnet.
- Fig. 24 stellt ein Werkstück in Ansicht (a) von seinem angelegten Biegezustand aus dar. Die Form wird abgesenkt und das Werkstück ein wenig in der -Z-Richtung abgesenkt, wie in Ansicht (b) bezeichnet. Wenn die Form abgesenkt wird, wird das Werkstück gleichzeitig in der +Z-Richtung angehoben wegen der Anwesenheit eines an dem unteren Rechtwinkelabschnitt des Werkstücks befindlichen abwärts gerichteten Flanschs. Das Werkstück wird dann in der - Y-Richtung bewegt, bis es die Form berührt, wie in Ansicht (c) bezeichnet. Dann wird gleichzeitig die Schrägstellung des Werkstücks in positiver Richtung verändert, während das Werkstück in der -Y-Richtung bewegt wird, was für das Werkstück zu der in Ansicht (d) bezeichneten Position führt.
- Fig. 25 stellt ein Werkstück dar, das, beginnend in Ansicht (a), von einer Position ausgeht, in der sich die Form bereits gelöst hat. Wie in Ansicht (b) bezeichnet, wird die Form abgesenkt, und in Ansicht (c) wird das Werkstück in der positiven Schrägstellungsrichtung (Stampfrichtung) bewegt während das Zurückziehen des Werkstücks aus dem Formraum in der -Y- Richtung erfolgt, bis es die in Ansicht (d) bezeichnete Zielposition erreicht.
- Das in Fig. 26 gezeigte Werkstück besitzt eine Kanal- oder Rinnenprofilbiegung, die gerade durch einen Schwanenhals-Stößel gebildet wurde. Wenn eine Kanalbiegung oder eine einer Kanalbiegung ähnliche Biegung vorhanden ist, ist es wichtig, der Abwärtsbetätigung der Form synchron mit einer Aufwärtsbetätigung des Werkstücks gegenzuwirken. Wenn so die Form in Ansicht (a) abgelassen wird, sollte das Werkstück in Aufwärtsrichtung angehoben werden. Das verhindert eine Kollision zwischen dem Werkstück und der auswärts gebogenen Seite des Schwanenhals-Stößels, die auftreten könnte, wenn das Werkstück während des Ablassens der Form in der -Z-Richtung abgesenkt würde. Dann wird, wie in Ansicht (b) bezeichnet, das Werkstück winkelförmig dem Schwanenhals-Stößel entlang zum Gleiten gebracht durch gleichzeitiges Bewegen des Werkstücks in der -Z- und -Y-Richtung. Die Folgesteuerung kann so ausgelegt werden, dass sie aktive Ausgleichsbewegungen ausführt, um diesen Schritt zu vollbringen, was das willentliche Halten des Werkstücks in Anlage an dem Schwanenhals-Stößel einschließt, wenn es entlang der Oberfläche des Schwanenhals-Stößels zum Gleiten gebracht wird, bis das Werkstück von der unteren Spitzenfläche des Schwanenhals-Stößels freikommt. Sobald das Werkstück von der unteren Spitzenfläche des Stößels freikommt, kann das Werkstück in der -Y-Richtung bewegt werden unter gleichzeitiger Bewegung des Werkstücks in der positiven Schräglagerichtung, bis das Werkstück seine in den Ansichten (c) und (d) bezeichnete Zielposition erreicht.
- Fig. 27 stellt ein Werkstück dar, das während des Lösens der Form gleichzeitig in der (+Z)-Richtung nach oben bewegt wird (Ansicht (a)), und in der Richtung -Z und +Y nach unten zum Gleiten gebracht werden muss (wahlweise mit Benutzung aktiver Ausgleichsfähigkeit), wie in jeder der Ansichten (b), (c) und (d) bezeichnet. Sobald das Werkstück an dem unteren Punkt des Schwanenhals-Stößels vorbeigekommen ist, wie in Ansicht (e) bezeichnet, kann · das Werkstück in der -Y-Richtung und der +-Stampfrichtung bewegt werden, bis es seine in Ansicht (f) gezeigte Zielposition erreicht.
- Fig. 21 stellt einen Roboter 16 in verbundenen Raumkoordinaten mit Bezug auf einen Roboterursprung dar, und in cartesischen Raumkoordinaten mit Bezug auf einen bezeichneten Weltursprung. Die Bewegungen eines in einem BM100 Biegearbeitsplatz vorgesehenen Roboters werden ausgedrückt durch fünf Koordinaten (X, Y, Z, A, B) im Verbundraum, die sich auf einen TCP (Tool Center Point = Werkzeugmittelpunkt) zu dem Roboterursprung beziehen. Da die durch das hier dargestellte Planungssystem ausgeführte Bewegungsplanung in cartesischen Koordinaten mit Bezug auf einen besonderen Bezugspunkt, der Weltursprung genannt werden kann, berechnet werden, ist es notwendig, einen Mechanismus zu besitzen, um die Roboterpositionsdarstellungen von einem System zum anderen zu wandeln. Insbesondere wird der Roboter gesteuert durch Angeben der Position des Roboter- TCP im verbundenen Raum (X, Y, Z, A, B), während die Positionierung des Roboters durch das Bewegungsplanungssystem häufig in cartesischen Koordinaten mit Bezug auf einen Weltursprung dargestellt werden muss. Dementsprechend sollte das System mit einem Gerät zum Ausführen einer Vorwärts-Kinematik-Berechnung versehen sein, um so eine in verbundenen Koordinaten (X, Y, Z, A, B) dargestellte Position des Roboters in Weltkoordinaten (X, Y, Z, Stampfen, Gieren) zu wandeln. Die Vorwärts-Kinematik-Lösung bestimmt die Roboterseitenposition in Weltkoordinaten aus bekannten verbundenen Winkeln. Die Rückwärts-Kinematik-Lösung bestimmt einen Satz von verbundenen Werten, welche die Roboterhand zu einer Position bewegen können, die in Weltkoordinaten angegeben ist. Um derartige Vorwärts- und Rückwärts- Kinematik-Lösungen fertigzustellen, können die Roboterbewegungen und die Bewegungen der Abkantbank modelliert werden durch Benutzen der Denavit-Hartenberg-(D-H)-Konvention zum Darstellen von Überführungen zwischen aufeinanderfolgenden Verbindungsgliedern. Beim Befolgen der D-H-Konvention kann eine Jacob'sche Matrix berechnet werden, welche Differentialänderungen im verbundenem Raum mit Änderungen im Weltenraum bei einer bestimmten Roboterkonfiguration in Beziehung bringt. Mehr detaillierte Information betreffend der Vorwärts- und Rückwärts-Kinematik (und allgemein Robotermechanik und -steuerung) ist in dem Buch von John J. Craig "Introduction to Robotics Mechanics and Control", zweite Auflage, Addison-Wesley Publishing Co., Reading, MA (1989) enthalten, dessen Inhalt ausdrücklich in seiner Gesamtheit zu Referenzzwecken hier aufgenommen wird.
Claims (46)
1. Verfahren zum Planen einer Bewegung eines Roboters (16) innerhalb eines durch
Hindernisse (22, 18, 24) begrenzten freien Raums von einer Anfangsposition (Qi(1),
Qi(2), Qi(3), Qi(4)) zu einer Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)), wobei das
Verfahren in einem Computer durchgeführt wird, der mindestens einen Prozessor und
einen Speicher aufweist, wobei das Verfahren umfaßt:
Vorschlagen einer Vielzahl von vorgeschlagenen Bewegungen (10, 12), die von dem
Roboter (16) durchgeführt werden sollen, für eine mte Bewegung innerhalb einer
Folge von Bewegungen;
Modellieren wenigstens eines Teils der Hindernisse (72, 79, 76), die den freien Raum
(73) begrenzen;
Bestimmen (528), ob eine Kollision zwischen dem Roboter (16) und einem Hindernis
(72, 79, 76) für eine vorgeschlagene Bewegung auftreten wird, die als die mte
Bewegung ausgeführt wird; und
Erzeugen eines Plans, der die Folge von Bewegungen umfaßt, durch Wählen einer
vorgeschlagenen Bewegung, die nicht zu einer Kollision führen wird (528) und die den
Roboter (16) näher (544, 546) zu der Zielposition (Qg(1), Qg(2), Qg(3), Og(4)) bringen
wird, für jede Bewegung in der Folge von Bewegungen,
dadurch gekennzeichnet, daß das Verfahren ferner umfaßt:
Modellieren wenigstens eines Teils des Roboters (16);
Feinbewegungsplanung (43a) zum Planen einer Vielzahl von
Feinbewegungslösungswegen im freien Raum, die sich zwischen einer Vielzahl von jeweiligen
Positionspaaren qi und qg erstrecken; und
Grobbewegungsplanung (44a) zum Planen einer Vielzahl von
Grobbewegungslösungswegen im freien Raum, die sich zwischen einer Vielzahl von jeweiligen
Positionspaaren Qi und Qg erstrecken.
2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß der Roboter (16) einen
Roboter zum Halten und Manövrieren des Werkstücks (17) gemäß einer Folge von
Biegevorgängen (qi(1), qg(1), qp, qi(2), qg(2)) umfaßt, die durch eine Biegevorrichtung
(20, 22) durchgeführt werden sollen.
3. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß ein Aufwand geschätzt
wird (S44, S46, S48), der zu jeder vorgeschlagenen Bewegung hinzuzufügen ist,
wobei der Erzeugungsschritt (S40) die Erzeugung eines Plans, der die Folge von
Bewegungen einschließt und der einen geringsten geschätzten Aufwand aufweist, durch
Wählen einer vorgeschlagenen Bewegung umfaßt, die nicht zu einer Kollision (S28)
führen und die den Roboter näher an die Zielposition (Qg(1), Qg(2), Qg(3), Qg(4))
bringen wird, für jede Bewegung in der Folge von Bewegungen.
4. Verfahren gemäß Anspruch 3, dadurch gekennzeichnet, daß der geschätzte
Aufwand für eine spezielle vorgeschlagene Bewegung einen euklidischen Abstand (S44)
von der Position des Roboters zu der Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) umfaßt,
nachdem die spezielle vorgeschlagene Bewegung als die mte Bewegung durchgeführt
wird.
5. Verfahren gemäß Anspruch 3, dadurch gekennzeichnet, daß der geschätzte
Aufwand für eine spezielle vorgeschlagene Bewegung einen geschätzten Wert (S46)
umfaßt, der auf die Roboterlaufzeit von einer Position nach einer (m-1)ten Bewegung
zu einer Position des Roboters nach der speziellen vorgeschlagenen Bewegung
hinweist.
6. Das Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß vor dem
Vorschlagschritt eine Vielzahl von Bewegungen in einem C-Raum (29) für eine mte
Bewegung in der Folge von Bewegungen festgelegt wird und wobei durch Durchführen
einer Kollisionsprüfung (S28) identifiziert wird, welche der festgelegten Vielzahl von
Bewegungen machbar sind, wobei der Vorschlagschritt das Vorschlagen von
Bewegungen aus den Bewegungen umfaßt, die als machbar identifiziert wurden.
7. Verfahren gemäß Anspruch 6, dadurch gekennzeichnet, daß die festgelegte Vielzahl
von Bewegungen, die für eine mte Bewegung in der Folge von Bewegungen
festgelegt wurden, eine Vielzahl von Bewegungen in Richtungen umfaßt, die zusammen die
Position des Roboters bei der (m-1)ten Bewegung in der Folge von Bewegungen
umgeben.
8. Verfahren gemäß Anspruch 6, dadurch gekennzeichnet, daß die festgelegte Vielzahl
von Bewegungen für eine mte Bewegung in der Folge von Bewegungen Bewegungen
in einer Vielzahl von intelligenten Bewegungsrichtungen umfaßt.
9. Verfahren gemäß Anspruch 8, dadurch gekennzeichnet, daß das Verfahren eine
Bewegung (S94; qf- > qg(2)) des Roboters plant, um ein verformbares Werkstück (17)
von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach Vollendung
eines Biegevorgangs zu entladen, wobei die intelligenten Richtungen eine
Abwärtsbewegung des Roboters umfassen, die bewirkt, daß sich das Werkstück nach unten
bewegt.
10. Verfahren gemäß Anspruch 8, dadurch gekennzeichnet, daß das Verfahren eine
Bewegung (S94; qf- > qg(2)) des Roboters (16) plant, um ein verformbares Werkstück
von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach Vollendung
eines Biegevorgangs zu entladen, wobei die intelligenten Richtungen eine
Rückwärtsbewegung des Roboters umfassen, die bewirkt, daß das Werkstück nach hinten aus
der Biegevorrichtung herausbewegt wird.
11. Verfahren gemäß Anspruch 8, dadurch gekennzeichnet, daß das Verfahren eine
Bewegung (S94; qf- > qg(2)) des Roboters (16) plant, um ein verformbares Werkstück
von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach Vollendung
ei
nes Biegevorgangs zu entladen, wobei die intelligenten Richtungen eine Bewegung
des Roboters umfassen, die bewirkt, daß sich die Neigung des Werkstücks von einer
schrägen Position zu einer horizontalen Position hin verändert.
12. Verfahren gemäß Anspruch 8, dadurch gekennzeichnet, daß das Verfahren eine
Bewegung (S94, qf- > qg(2)) des Roboters (16) plant, um ein verformbares Werkstück
von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach Vollendung
eines Biegevorgangs zu entladen, wobei die intelligenten Richtungen eine Bewegung
des Roboters umfassen, die bewirkt, daß das Werkstück nach unten und zurück weg
von der Biegevorrichtung bewegt wird, sowie in seiner Neigung von einer gewinkelten
Position zu einer horizontalen Position fällt.
13. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß das Verfahren ferner
umfaßt:
Bilden einer m-Baumdarstellung (12; Fig. 11B) eines Arbeitsraums des Roboters; und
Berechnen von maximalüberlappenden Quadern ((a, d, f, t, n, p, g, s), (m, a, t, j, v, b,
r, i), (j, t, f, h, k, w, e, y), (l, o, q, x, m, a, c, v)) innerhalb des freien Raums der m-
Baumdarstellung des Arbeitsraums.
14. Verfahren gemäß Anspruch 13, dadurch gekennzeichnet, daß die m-
Baumdarstellung eine 8-Baumdarstellung ist.
15. Verfahren gemäß Anspruch 13, dadurch gekennzeichnet, daß die
maximalüberlappenden Quader maximalüberlappende Parallelflächner umfassen.
16. Verfahren gemäß Anspruch 13, dadurch gekennzeichnet, daß der Vorschlagschritt
das Vorschlagen eines Satzes von Bewegungen für eine mte Bewegung des Roboters
(16) zu Orten umfaßt, die in einen maximalüberlappenden Quader fallen, in dem sich
der Roboter (16) unmittelbar nach der (m-1)ten Bewegung der Folge von
Bewegungen befindet.
17. Verfahren gemäß Anspruch 16, dadurch gekennzeichnet, daß der Satz von
Bewegungen umfaßt:
Übertragen des Roboters (16) auf eine beliebige von acht Ecken eines gegenwärtig
belegten maximalüberappenden Quaders; und
Bewegen des Roboters entlang einer aus einer Vielzahl von vorbestimmten
Richtungen, die den Roboter zu einer Position bringen, die der Zielposition (Qg(1), Qg(2),
Qg(3), Qg(4)) entspricht.
18. Verfahren gemäß Anspruch 16, dadurch gekennzeichnet, daß der Satz von
Bewegungen umfaßt:
Bewegen des Roboters (16) in einer ersten von drei orthogonalen Richtungen zu einer
Position entlang der ersten orthogonalen Richtung, die der Zielposition entspricht;
Bewegen des Roboters in einer zweiten der drei orthogonalen Richtungen zu einer
Position entlang der zweiten orthogonalen Richtung, die der Zielposition entspricht;
Bewegen des Roboters in einer dritten der drei orthogenalen Richtungen zu einer
Position entlang der dritten orthogenalen Richtung, die der Zielposition entspricht;
Bewegen des Roboters (16) um eine Neigung eines Greifers des Roboters
anzupassen; und
Bewegen des Roboters (16) um sowohl Neigung als auch Gierung des Greifers (19)
des Roboters einzustellen.
19. Verfahren gemäß Anspruch 16, dadurch gekennzeichnet, daß der Satz von
Bewegungen Bewegen entlang einer aus einer Vielzahl von orthogonalen Richtungen nur
umfaßt, wenn eine solche Bewegung den Roboter zu einer orthogonalen Position zu
bringen pflegt, die der Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) entspricht.
20. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß die
Feinbewegungsplanung Durchführen der Schritte Vorschlagen, Modellieren, Bestimmen und
Erzeugen umfaßt, wobei der Vorschlagschritt für jedes Paar von Positionen qi und qg
Festlegen einer Vielzahl von Bewegungen in einem C-Raum (29) für die mte Bewegung
und Identifizieren, welche der festgelegten Vielzahl von Bewegungen aufgrund einer
Kollisionsprüfung (S70) machbar sind, umfaßt.
21. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß die
Grobbewegungsplanung Durchführen der Schritte Vorschlagen, Modellieren, Bestimmen und
Erzeugen für jedes Paar von Positionen Qi und Qg umfaßt, wobei der Vorschlagschritt
Vorschlagen eines Satzes von Bewegungen innerhalb eines maximalüberlappenden
Parallelflächners innerhalb des freien Raums des Roboters (16) umfaßt.
22. Verfahren gemäß Anspruch 20, dadurch gekennzeichnet, daß die
Grobbewegungsplanung Durchführen der Schritte Vorschlagen, Modellieren, Bestimmen und
Erzeugen für jedes Paar von Positionen Qi und Qg umfaßt, wobei der Vorschlagschritt
Vorschlagen eines Satzes von Bewegungen innerhalb eines maximalüberlappenden
Parallelflächners innerhalb des freien Raums des Roboters (16) umfaßt.
23. Verfahren gemäß Anspruch 2, ferner mit:
Berechnen (S28), ob ein einfacher kollisionsfreier Weg bestimmt werden kann;
Aufstellen eines Plans, der Bewegungen zum Durchlaufen des einfachen
kollisionsfreien Weges umfaßt; und
Hindern der Durchführung der Schritte Vorschlagen, Bestimmen und Erzeugen.
24. System (38) zum Planen einer Bewegung eines Roboters (16) innerhalb eines freien
Raums der durch Hindernisse (72, 76, 79) begrenzt ist, von einer Anfangsposition
(Qi(1), Qi(2), Qi(3), Qi(4)) zu einer Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) mit:
einer Vorschlageinrichtung zum Vorschlagen einer Vielzahl von vorgeschlagenen
Bewegungen (10, 12), die von dem Roboter (16) durchgeführt werden sollen, für eine
mte Bewegung innerhalb einer Folge von Bewegungen;
einer Modellierungseinrichtung zum Modellieren wenigstens eines Teils der
Hindernisse (72, 76, 79), die den freien Raum (73) begrenzen;
einer Bestimmeinrichtung (S28) zum Bestimmen, ob eine Kollision zwischen dem
Roboter (16) und einem Hindernis (72, 76, 79) für eine vorgeschlagene Bewegung
stattfinden wird, die als die mte Bewegung ausgeführt wird; und
einer Erzeugungseinrichtung (S40; 40) zum Erzeugen eines Plans, der die Folge von
Bewegungen umfaßt, durch Wählen einer vorgeschlagenen Bewegung, die nicht zu
einer Kollision (S28) führen wird, und die den Roboter (16) näher (S44, S46) zu der
Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) bringen wird, für jede Bewegung innerhalb der
Folge von Bewegungen;
dadurch gekennzeichnet, daß
die Modellierungseinrichtung ferner wenigstens einen Teil des Roboters (16)
modelliert;
das System zum Planen einer Bewegung ferner umfaßt:
eine Feinbewegungsplanungseinrichtung (43a) zum Planen einer Vielzahl von
Feinbewegungslösungswegen im freien Raum, die sich zwischen einer Vielzahl von
jeweiligen Paaren von Positionen qi und qg erstrecken; und
eine Grobbewegungsplanungseinrichtung (44a) zum Planen einer Vielzahl von
Grobbewegungslösungswegen im freien Raum, die sich zwischen einer Vielzahl von
jeweiligen Paaren von Positionen Qi und Qg erstrecken.
25. System gemäß Anspruch 24, dadurch gekennzeichnet, daß der Roboter 16 einen
Roboter zum Halten und Manövrieren des Werkstücks (17) durch eine Folge von
Bie
gevorgängen (qi(1), qg(1), qp, qi(2), qg(2)) umfaßt, die von einer Biegevorrichtung (20,
22) durchgeführt werden sollen.
26. System gemäß Anspruch 24, dadurch gekennzeichnet, daß das System ferner eine
Schätzeinrichtung (S44, S46, S48) zum Schätzen eines Aufwands umfaßt, der jeder
vorgeschlagenen Bewegung hinzuzufügen ist, wobei die Erzeugungseinrichtung (S44,
S46, S48) eine Einrichtung zum Erzeugen (S40) eines Plans, der die Folge von
Bewegungen umfaßt, durch Wählen (S28) einer vorgeschlagenen Bewegung, die nicht
zu einer Kollision führen und den Roboter näher an die Zielposition (Qg(1), Qg(2),
Qg(3), Qg(4)) bringen wird und die den geringsten geschätzten Aufwand aufweist, für
jede Bewegung in der Folge von Bewegungen umfaßt.
27. System gemäß Anspruch 26, dadurch gekennzeichnet, daß der geschätze Aufwand
für eine spezielle vorgeschlagene Bewegung einen euklidischen Abstand (344) zu der
Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) von der Position des Roboters, nachdem die
spezielle vorgeschlagene Bewegung als die mte Bewegung durchgeführt wurde,
umfaßt.
28. System gemäß Anspruch 26, dadurch gekennzeichnet, daß der geschätze Aufwand
für eine spezielle vorgeschlagene Bewegung einen geschätzen Wert (S46) umfaßt,
der auf die Laufzeit des Roboters von einer (m-1)ten Bewegung zu der Position des
Roboters, nachdem die spezielle vorgeschlagene Bewegung als die mte Bewegung
durchgeführt wurde, hinweist.
29. System gemäß Anspruch 24, dadurch gekennzeichnet, daß das System ferner eine
Festlegeeinrichtung zum Festlegen einer Vielzahl von Bewegungen in einem C-Raum
(29) für eine mte Bewegung in der Folge von Bewegungen und eine
Identifizierungseinrichtung zum Identifizieren, welche der festgelegten Vielzahl von Bewegungen
machbar sind, wobei eine Kollisionsprüfung (S28) durchgeführt wird, umfaßt, wobei
die Vorschlageinrichtung eine Einrichtung zum Vorschlagen von Bewegungen aus den
Bewegungen umfaßt, die durch die Identifizierungseinrichtung als machbar identifiziert
sind.
30. System gemäß Anspruch 29, dadurch gekennzeichnet, daß die festgelegte Vielzahl
von Bewegungen, die für eine mte Bewegung in einer Folge von Bewegungen
festgelegt ist, eine Vielzahl von Bewegungen und Richtungen umfaßt, die zusammen eine
Position des Roboters bei der (m-1)ten Bewegung in der Folge von Bewegungen
umgeben.
31. System gemäß Anspruch 29, dadurch gekennzeichnet, daß die festgelegte Vielzahl
von Bewegungen für eine mte Bewegung in der Folge von Bewegungen Bewegungen
in eine Vielzahl von intelligenten Bewegungsrichtungen umfaßt.
32. System gemäß Anspruch 31, dadurch gekennzeichnet, daß das System ferner eine
Einrichtung zum Planen einer Bewegung des Roboters umfaßt, um ein verformbares
Werkstück (17) von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach
Vollendung eines Biegevorgangs zu entladen (S94; qf- > qg(2)), wobei die intelligenten
Richtungen eine Bewegung des Roboters nach unten umfassen, die das Werkstück
veranlassen, sich nach unten zu bewegen.
33. System gemäß Anspruch 31, dadurch gekennzeichnet, daß das System ferner eine
Einrichtung zum Planen einer Bewegung des Roboters umfaßt, um ein verformbares
Werkstück von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach
Vollendung eines Biegevorgangs zu entladen (S94; qf- > qg(2)), wobei die intelligenten
Richtungen eine Rückwärtsbewegung des Roboters umfassen, das veranlaßt, daß
das Werkstück nach hinten aus der Biegevorrichtung herausbewegt wird.
34. System gemäß Anspruch 31, dadurch gekennzeichnet, daß das System ferner eine
Einrichtung zum Planen einer Bewegung des Roboters umfaßt, um ein verformbares
Werkstück (17) von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach
Vollendung eines Biegevorgangs zu entladen (S94; qf- > qg(2)), wobei die intelligenten
Richtungen eine Bewegung des Roboters umfassen, die das Werkstück veranlaßt,
seine Neigung von einer gewinkelten Position zu einer horizontalen Position zu
ändern.
35. System gemäß Anspruch 31, dadurch gekennzeichnet, daß das System ferner eine
Einrichtung zum Planen einer Bewegung des Roboters umfaßt, um ein verformbares
Werkstück (17) von einem Bearbeitungsstempel (20) einer Biegevorrichtung (22) nach
Vollendung eines Biegevorgangs zu entladen (S94; qf- > qg(2)), wobei die intelligenten
Richtungen eine Bewegung des Roboters umfassen, die veranlaßt, daß das
Werkstück nach unten zurück und weg von der Biegevorrichtung bewegt wird, und daß es
in der Neigung von einer gewinkelten Position in eine horizontale Position fällt.
36. System gemäß Anspruch 24, dadurch gekennzeichnet, daß das System ferner
umfaßt:
eine Bildungseinrichtung zum Bilden einer m-Baumdarstellung (12, Fig. 11B) eines
Arbeitsraums des Roboters; und
eine Berechnungseinrichtung zum Berechnen maximalüberlappender Quader ((a, d, f,
t, n, p, g, s), (m, a, t, j, n, b, v, i), (j, t, f, h, k, w, e, y), (l, o, q, x, m, a, c, v)) innerhalb
des freien Raums der m-Baumdarstellung des Arbeitsraums.
37. System gemäß Anspruch 36, dadurch gekennzeichnet, daß die m-Baumdarstellung
eine 8-Baumdarstellung ist.
38. System gemäß Anspruch 36, dadurch gekennzeichnet, daß die
maximalüberlappenden Quader maximalüberlappende Parallelflächner umfassen.
39. System gemäß Anspruch 36, dadurch gekennzeichnet, daß die
Vorschlageinrichtung eine Einrichtung zum Vorschlagen einer Gruppe von Bewegungen des Roboters
(16) zu Orten, die in einen maximalüberlappenden Quader fallen, in dem sich der
Roboter (16) unmittelbar nach der (m-1)ten Bewegung der Folge von Bewegungen
befindet, für eine mte Bewegung umfaßt.
40. System gemäß Anspruch 39, dadurch gekennzeichnet, daß die Gruppe von
Bewegungen umfaßt:
Übertragen des Roboters (16) zu einer von acht Ecken eines augenblicklichen
maximalüberlappenden Quaders; und
Bewegen des Roboters entlang einer aus einer Vielzahl von vorbestimmten
Richtungen, die den Roboter zu einer Position entlang einer vorbestimmten Richtung bringen,
die der Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) entspricht.
41. System gemäß Anspruch 39, dadurch gekennzeichnet, daß der Satz von
Bewegungen umfaßt:
Bewegen des Roboters (16) in einer ersten von drei orthogonalen Richtungen zu einer
Position entlang der ersten orthogonalen Richtung, die der Zielposition entspricht;
Bewegen des Roboters (16) in einer zweiten von drei orthogonalen Richtungen zu
einer Position entlang der zweiten orthogonalen Richtung, die der Zielposition
entspricht;
Bewegen des Roboters (16) in einer dritten der drei orthogonalen Richtungen zu einer
Position entlang der dritten orthogonalen Richtung, die der Zielposition entspricht;
Bewegen des Roboters (16) um eine Neigung eines Greifers des Roboters;
anzupassen; und
Bewegen des Roboters um sowohl die Neigung als auch eine Gierung des Greifers
des Roboters (16) anzupassen.
42. System gemäß Anspruch 41, dadurch gekennzeichnet, daß der Satz von
Bewegungen Bewegen entlang einer aus einer Vielzahl von orthogonalen Richtungen nur
umfaßt, wenn die Bewegung den Roboter zu einer orthogonalen Position zu bringen
pflegt, die der Zielposition (Qg(1), Qg(2), Qg(3), Qg(4)) entspricht.
43. System gemäß Anspruch 25, dadurch gekennzeichnet, daß die
Feinbewegungsplanungseinrichtung umfaßt eine Einrichtung zum Betreiben der Vorschlageinrichtung,
der Modellierungseinrichtung, der Bestimmeinrichtung und der Erzeugungseinrichtung
für jedes Paar von Positionen qi und qg, wobei die Vorschlageinrichtung eine
Festlegeinrichtung zum Festlegen einer Vielzahl von Bewegungen in einem C-Raum (29) für
die mte Bewegung und eine Identifiziereinrichtung zum Identifizieren, welche der
fest
gelegten Vielzahl von Bewegungen machbar sind, durch Durchführen einer
Kollisionsprüfung (S70) umfaßt.
44. System gemäß Anspruch 25, dadurch gekennzeichnet, daß die
Grobbewegungsplanungseinrichtung eine Einrichtung zum Betreiben der Vorschlageinrichtung, der
Modellierungseinrichtung, der Bestimmeinrichtung, und der Erzeugungseinrichtung für
jedes Paar von Positionen Qi und Qg umfaßt, wobei die Vorschlageinrichtung eine
Einrichtung zum Vorschlagen eines Satzes von Bewegungen innerhalb eines
maximalüberlappenden Parallelflächners innerhalb des freien Raums des Roboters (16)
umfaßt.
45. System gemäß Anspruch 43, dadurch gekennzeichnet, daß die
Grobbewegungsplanungseinrichtung eine Einrichtung zum Betreiben der Vorschlageinrichtung, der
Modellierungseinrichtung, der Bestimmungseinrichtung und der
Erzeugungseinrichtung für jedes Paar von Positionen Qi und Qg umfaßt, wobei die Vorschlageinrichtung
eine Einrichtung zum Vorschlagen eines Satzes von Bewegungen in einem
maximalüberlappenden Parallelflächner in dem freien Raum des Roboters (16) umfaßt.
46. System gemäß Anspruch 25, dadurch gekennzeichnet, daß das System ferner
umfaßt:
eine Berechnungseinrichtung zum Berechnen, ob ein einfacher kollisionsfreier Weg
bestimmt werden kann;
eine Aufstellungseinrichtung zum Aufstellen eines Plans, der Bewegungen zum
Durchlaufen des einfachen kollisionsfreien Weges umfaßt; und
eine Verhinderungseinrichtung zum Verhindern des Betriebs der
Vorschlageinrichtung, der Bestimmeinrichtung und der Erzeugungseinrichtung.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/338,115 US5835684A (en) | 1994-11-09 | 1994-11-09 | Method for planning/controlling robot motion |
PCT/JP1995/002290 WO1996014967A1 (en) | 1994-11-09 | 1995-11-09 | Method for planning/controlling robot motion |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69515464D1 DE69515464D1 (de) | 2000-04-13 |
DE69515464T2 true DE69515464T2 (de) | 2000-07-06 |
Family
ID=23323475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69515464T Expired - Lifetime DE69515464T2 (de) | 1994-11-09 | 1995-11-09 | Verfahren zur planung/steuerung von roboterbewegungen |
Country Status (5)
Country | Link |
---|---|
US (3) | US5835684A (de) |
EP (2) | EP0738199B1 (de) |
JP (1) | JPH09509513A (de) |
DE (1) | DE69515464T2 (de) |
WO (1) | WO1996014967A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008058298B4 (de) * | 2008-04-29 | 2016-01-14 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Bewegungsplanung eines Roboters |
Families Citing this family (144)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324476B1 (en) * | 1987-11-20 | 2001-11-27 | Philips Electronicsnorth America Corporation | Method and apparatus for identifying or controlling travel to a rendezvous |
US5761940A (en) | 1994-11-09 | 1998-06-09 | Amada Company, Ltd. | Methods and apparatuses for backgaging and sensor-based control of bending operations |
US5835684A (en) * | 1994-11-09 | 1998-11-10 | Amada Company, Ltd. | Method for planning/controlling robot motion |
WO1996015481A2 (en) | 1994-11-09 | 1996-05-23 | Amada Company, Limited | Intelligent system for generating and executing a sheet metal bending plan |
EP1236546A3 (de) * | 1994-11-09 | 2002-12-11 | Amada Company, Ltd. | Verfahren und Vorrichtung zur Steuerung eines Greifers |
US5692184A (en) * | 1995-05-09 | 1997-11-25 | Intergraph Corporation | Object relationship management system |
US5864482A (en) * | 1996-05-06 | 1999-01-26 | Amadasoft America, Inc. | Apparatus and method for managing distributing design and manufacturing information throughout a sheet metal production facility |
US5828575A (en) | 1996-05-06 | 1998-10-27 | Amadasoft America, Inc. | Apparatus and method for managing and distributing design and manufacturing information throughout a sheet metal production facility |
US5971589A (en) * | 1996-05-06 | 1999-10-26 | Amadasoft America, Inc. | Apparatus and method for managing and distributing design and manufacturing information throughout a sheet metal production facility |
US5886897A (en) | 1996-05-06 | 1999-03-23 | Amada Soft America Inc. | Apparatus and method for managing and distributing design and manufacturing information throughout a sheet metal production facility |
US5822207A (en) | 1996-05-06 | 1998-10-13 | Amadasoft America, Inc. | Apparatus and method for integrating intelligent manufacturing system with expert sheet metal planning and bending system |
IT1283019B1 (it) * | 1996-05-16 | 1998-04-03 | Salvagnini Italia Spa | Metodo di gestione di un'isola di lavoro comprendente un robot asser- vito ad una pressa piegatrice per lavorazione di fogli di lamiera. |
US6004016A (en) * | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
IT1284548B1 (it) * | 1996-09-18 | 1998-05-21 | Salvagnini Italia Spa | Metodo per trasporto di fogli di lamiera in un'isola di lavoro comprendente una macchina utensile e un robot |
US6154723A (en) * | 1996-12-06 | 2000-11-28 | The Board Of Trustees Of The University Of Illinois | Virtual reality 3D interface system for data creation, viewing and editing |
US6233538B1 (en) * | 1997-09-11 | 2001-05-15 | Amada America, Inc. | Apparatus and method for multi-purpose setup planning for sheet metal bending operations |
EP1690609B1 (de) * | 1998-02-03 | 2007-12-12 | Kabushiki Kaisha Opton | Biegevorrichtung |
JP3781557B2 (ja) * | 1998-06-24 | 2006-05-31 | 本田技研工業株式会社 | 物品の最適移送経路決定方法 |
US6470228B1 (en) * | 1999-06-23 | 2002-10-22 | Vought Aircraft Industries, Inc. | Material management system and method |
DE19939137A1 (de) * | 1999-08-18 | 2001-03-08 | Bosch Gmbh Robert | Vorrichtung und Verfahren zur Erzeugung eines Sollwerts für die Ansteuerung eines Antriebs |
US6856863B1 (en) * | 2000-07-27 | 2005-02-15 | Applied Materials, Inc. | Method and apparatus for automatic calibration of robots |
JP3715537B2 (ja) * | 2001-02-19 | 2005-11-09 | 本田技研工業株式会社 | 多関節ロボットの干渉回避方法およびプログラム |
JP3782679B2 (ja) * | 2001-05-09 | 2006-06-07 | ファナック株式会社 | 干渉回避装置 |
US7474781B2 (en) | 2001-09-20 | 2009-01-06 | International Business Machines Corporation | Image based bar-code reading and robotic registration apparatus for use in automated tape library systems |
US6980692B2 (en) * | 2001-09-20 | 2005-12-27 | International Business Machines Corporation | Method and apparatus for dynamic thresholding of grayscale images to delineate image attributes |
US7269284B2 (en) * | 2001-09-20 | 2007-09-11 | International Business Machines Corporation | Method and apparatus using dual bounding boxes as dynamic templates for cartridge rack identification and tracking |
US6466843B1 (en) * | 2001-10-16 | 2002-10-15 | General Electric Company | Method and apparatus for lifting objects |
DE60226073T2 (de) * | 2001-11-09 | 2009-05-14 | Amada Co., Ltd. | Zusammensetzungsverarbeitungssystem für die blechverarbeitung |
AU2003220444A1 (en) * | 2002-03-21 | 2003-10-08 | Rapistan System Advertising Corp. | Graphical system configuration program for material handling |
US20050220582A1 (en) * | 2002-09-13 | 2005-10-06 | Tokyo Electron Limited | Teaching method and processing system |
EP1411404B1 (de) * | 2002-10-18 | 2006-08-16 | Schechtl Maschinenbau GmbH | Schwenkbiegemaschine und entsprechendes Steuerverfahren |
WO2004067232A2 (en) * | 2003-01-31 | 2004-08-12 | Thermo Crs Ltd. | Syntactic inferential motion planning method for robotic systems |
US6943976B2 (en) * | 2003-09-23 | 2005-09-13 | International Business Machines Corporation | Rezeroing a robot accessor of an automated data storage library |
US8337482B2 (en) | 2004-04-19 | 2012-12-25 | The Invention Science Fund I, Llc | System for perfusion management |
US9801527B2 (en) | 2004-04-19 | 2017-10-31 | Gearbox, Llc | Lumen-traveling biological interface device |
US8024036B2 (en) | 2007-03-19 | 2011-09-20 | The Invention Science Fund I, Llc | Lumen-traveling biological interface device and method of use |
US8092549B2 (en) | 2004-09-24 | 2012-01-10 | The Invention Science Fund I, Llc | Ciliated stent-like-system |
US8361013B2 (en) | 2004-04-19 | 2013-01-29 | The Invention Science Fund I, Llc | Telescoping perfusion management system |
US9011329B2 (en) | 2004-04-19 | 2015-04-21 | Searete Llc | Lumenally-active device |
US8353896B2 (en) | 2004-04-19 | 2013-01-15 | The Invention Science Fund I, Llc | Controllable release nasal system |
US7129951B2 (en) * | 2004-05-06 | 2006-10-31 | Valve Corporation | Method and system for performing speculative collisions for a video game |
US8000837B2 (en) | 2004-10-05 | 2011-08-16 | J&L Group International, Llc | Programmable load forming system, components thereof, and methods of use |
US7398129B2 (en) * | 2004-10-07 | 2008-07-08 | Amada Company, Limited | Representation of sheet metal part models |
US7813901B2 (en) * | 2004-10-25 | 2010-10-12 | Amada Company, Limited | Sketch generator for 3D sheet metal part models created by sheet metal part feature operations |
US7158853B2 (en) * | 2004-10-25 | 2007-01-02 | Amada Company, Limited | Pattern recognition for sheet metal part models |
US7798764B2 (en) | 2005-12-22 | 2010-09-21 | Applied Materials, Inc. | Substrate processing sequence in a cartesian robot cluster tool |
US7699021B2 (en) | 2004-12-22 | 2010-04-20 | Sokudo Co., Ltd. | Cluster tool substrate throughput optimization |
US7396412B2 (en) | 2004-12-22 | 2008-07-08 | Sokudo Co., Ltd. | Coat/develop module with shared dispense |
US7725418B2 (en) * | 2005-01-28 | 2010-05-25 | Honda Motor Co., Ltd. | Responding to situations using multidimensional semantic net and Bayes inference |
US7512485B2 (en) * | 2005-03-29 | 2009-03-31 | International Business Machines Corporation | Method for routing multiple paths through polygonal obstacles |
US7370022B2 (en) * | 2005-07-08 | 2008-05-06 | Honda Motor Co. | Building plans for household tasks from distributed knowledge |
US8019713B2 (en) * | 2005-07-08 | 2011-09-13 | Honda Motor Co., Ltd. | Commonsense reasoning about task instructions |
US7603330B2 (en) * | 2006-02-01 | 2009-10-13 | Honda Motor Co., Ltd. | Meta learning for question classification |
US8936629B2 (en) | 2006-04-12 | 2015-01-20 | Invention Science Fund I Llc | Autofluorescent imaging and target ablation |
US9198563B2 (en) | 2006-04-12 | 2015-12-01 | The Invention Science Fund I, Llc | Temporal control of a lumen traveling device in a body tube tree |
FR2900360B1 (fr) * | 2006-04-28 | 2008-06-20 | Staubli Faverges Sca | Procede et dispositif de reglage de parametres de fonctionnement d'un robot, programme et support d'enregistrement pour ce procede |
DE102006022483A1 (de) * | 2006-05-13 | 2007-11-29 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Anzeigen einer Roboterbahn zur Unterstützung einer Ortsänderung eines Stützpunktes |
US8163003B2 (en) | 2006-06-16 | 2012-04-24 | The Invention Science Fund I, Llc | Active blood vessel sleeve methods and systems |
EP1870211B1 (de) * | 2006-06-22 | 2019-02-27 | Honda Research Institute Europe GmbH | Verfahren zur Steuerung eines Roboters durch Bewertung der Relevanz von mehreren simulierten Verhalten |
JP2008073830A (ja) * | 2006-09-25 | 2008-04-03 | Fanuc Ltd | ロボット制御装置 |
JP4298757B2 (ja) * | 2007-02-05 | 2009-07-22 | ファナック株式会社 | ロボット機構のキャリブレーション装置及び方法 |
EP1972415B1 (de) * | 2007-03-23 | 2019-01-02 | Honda Research Institute Europe GmbH | Roboter mit Kollisionsvermeidungsfunktion |
EP1972416B1 (de) * | 2007-03-23 | 2018-04-25 | Honda Research Institute Europe GmbH | Roboter mit Verstopfungsvermeidungsfunktion |
EP1974869A1 (de) * | 2007-03-26 | 2008-10-01 | Honda Research Institute Europe GmbH | Vorrichtung und Verfahren zur Erzeugung eines Roboters und zur Steuerung seiner Bewegung |
US8046102B2 (en) * | 2007-05-17 | 2011-10-25 | Fanuc Robotics America, Inc. | Control method for synchronous high speed motion stop for multi-top loaders across controllers |
JP5060619B2 (ja) * | 2007-06-08 | 2012-10-31 | 本田技研工業株式会社 | モーション計画方法、モーション計画システム及び記録媒体 |
US7783447B2 (en) * | 2007-11-24 | 2010-08-24 | Kingston Technology Corp. | Chip handler with a buffer traveling between roaming areas for two non-colliding robotic arms |
KR101372482B1 (ko) * | 2007-12-11 | 2014-03-26 | 삼성전자주식회사 | 이동 로봇의 경로 계획 방법 및 장치 |
US8571745B2 (en) * | 2008-04-10 | 2013-10-29 | Robert Todd Pack | Advanced behavior engine |
CN101572029B (zh) * | 2008-04-28 | 2012-01-25 | 鸿富锦精密工业(深圳)有限公司 | 机器人板材折弯模拟系统及方法 |
DE102008057142B4 (de) * | 2008-04-29 | 2016-01-28 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Bewegungsplanung eines Roboters |
WO2010004744A1 (ja) * | 2008-07-09 | 2010-01-14 | パナソニック株式会社 | 経路危険性評価装置 |
US8078445B2 (en) * | 2008-09-30 | 2011-12-13 | Rockwell Automation Technologies, Inc. | Load characterization in servo drive systems |
KR101021836B1 (ko) * | 2008-10-09 | 2011-03-17 | 한국전자통신연구원 | 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법 |
US20100114338A1 (en) * | 2008-10-31 | 2010-05-06 | Gm Global Technology Operations, Inc. | Multi-goal path planning of welding robots with automatic sequencing |
JP4730440B2 (ja) * | 2009-01-01 | 2011-07-20 | ソニー株式会社 | 軌道計画装置及び軌道計画方法、並びにコンピューター・プログラム |
US8024069B2 (en) * | 2009-01-28 | 2011-09-20 | Ge Intelligent Platforms, Inc. | System and method for path planning |
EP2251157B1 (de) * | 2009-05-15 | 2011-07-20 | Honda Research Institute Europe GmbH | Autonome Roboter mit Planung in unvorhersagbaren, dynamischen und komplizierten Umgebungen |
KR101667030B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR101667029B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획방법 및 장치 |
KR101667031B1 (ko) * | 2009-11-02 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
JP5398489B2 (ja) * | 2009-11-20 | 2014-01-29 | 村田機械株式会社 | 自律移動体とその制御方法 |
US20110153080A1 (en) * | 2009-12-22 | 2011-06-23 | Siemens Product Lifecycle Management Software Inc. | Method and apparatus for industrial robotic pathscycle time optimization using fly by |
JP5475629B2 (ja) * | 2010-01-12 | 2014-04-16 | 本田技研工業株式会社 | 軌道計画方法、軌道計画システム及びロボット |
JP5715840B2 (ja) * | 2011-02-04 | 2015-05-13 | 本田技研工業株式会社 | 軌道計画方法、軌道制御方法、軌道計画システム及び軌道計画・制御システム |
JP5454491B2 (ja) * | 2011-02-25 | 2014-03-26 | 株式会社安川電機 | 作業システム |
CN103492134B (zh) * | 2011-04-14 | 2016-05-04 | 三菱电机株式会社 | 机械臂控制装置 |
EP2515193B1 (de) * | 2011-04-18 | 2014-04-02 | Siemens Aktiengesellschaft | Verfahren zur Vermeidung einer ungewollten Kollision zwischen einem Werkzeug und einem Werkstück bei einer Werkzeugmaschine |
JP5774361B2 (ja) * | 2011-04-28 | 2015-09-09 | 本田技研工業株式会社 | 軌道計画方法、軌道計画システム及び軌道計画・制御システム |
US8972053B2 (en) | 2011-08-30 | 2015-03-03 | 5D Robotics, Inc. | Universal payload abstraction |
JP5403086B2 (ja) * | 2012-02-27 | 2014-01-29 | 富士通株式会社 | 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム |
US9056394B2 (en) | 2012-09-27 | 2015-06-16 | Siemens Product Lifecycle Management Software Inc. | Methods and systems for determining efficient robot-base position |
US9709990B2 (en) * | 2012-12-21 | 2017-07-18 | Toyota Jidosha Kabushiki Kaisha | Autonomous navigation through obstacles |
US8972057B1 (en) * | 2013-01-09 | 2015-03-03 | The Boeing Company | Systems and methods for generating a robotic path plan in a confined configuration space |
US9649765B2 (en) | 2013-03-11 | 2017-05-16 | Siemens Aktiengesellschaft | Reducing energy consumption of industrial robots by using new methods for motion path programming |
US9102055B1 (en) | 2013-03-15 | 2015-08-11 | Industrial Perception, Inc. | Detection and reconstruction of an environment to facilitate robotic interaction with the environment |
KR101883473B1 (ko) * | 2013-05-07 | 2018-07-30 | 한화지상방산 주식회사 | 이동로봇의 지도 작성 장치 및 방법 |
US9922144B2 (en) | 2014-03-26 | 2018-03-20 | Siemens Industry Software Ltd. | Energy and cycle time efficiency based method for robot positioning |
US9701011B2 (en) | 2014-05-08 | 2017-07-11 | Siemens Industry Software Ltd. | Method for robotic energy saving tool search |
US9555545B2 (en) | 2014-05-21 | 2017-01-31 | Bot & Dolly, Llc | Systems and methods for time-based parallel robotic operation |
US9278449B1 (en) * | 2014-05-21 | 2016-03-08 | Bot & Dolly, Llc | Closed-loop control system for robotic operation |
US9283678B2 (en) * | 2014-07-16 | 2016-03-15 | Google Inc. | Virtual safety cages for robotic devices |
US9298863B2 (en) | 2014-07-31 | 2016-03-29 | Siemens Industry Software Ltd. | Method and apparatus for saving energy and reducing cycle time by using optimal robotic joint configurations |
US9469029B2 (en) | 2014-07-31 | 2016-10-18 | Siemens Industry Software Ltd. | Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path |
US9815201B2 (en) | 2014-07-31 | 2017-11-14 | Siemens Industry Software Limited | Method and apparatus for industrial robotic energy saving optimization using fly-by |
US9457469B2 (en) * | 2014-08-14 | 2016-10-04 | Siemens Industry Software Ltd. | Method and apparatus for automatic and efficient location generation for cooperative motion |
US9327406B1 (en) | 2014-08-19 | 2016-05-03 | Google Inc. | Object segmentation based on detected object-specific visual cues |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9387588B1 (en) | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US9446518B1 (en) * | 2014-11-11 | 2016-09-20 | Google Inc. | Leg collision avoidance in a robotic device |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US9409294B1 (en) | 2015-03-05 | 2016-08-09 | Toyota Motor Engineering & Manufacturing North America, Inc. | Hierarchical geometric plan composition (HGPC) framework for robot task planning |
US9594377B1 (en) * | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
WO2017113219A1 (zh) * | 2015-12-30 | 2017-07-06 | 深圳配天智能技术研究院有限公司 | 折弯跟随轨迹规划方法、装置及系统 |
US9925667B1 (en) | 2016-01-25 | 2018-03-27 | Boston Dynamics, Inc. | Continuous slip recovery |
WO2017139613A1 (en) * | 2016-02-11 | 2017-08-17 | Massachusetts Institute Of Technology | Motion planning for robotic systems |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
US11429105B2 (en) * | 2016-06-10 | 2022-08-30 | Duke University | Motion planning for autonomous vehicles and reconfigurable motion planning processors |
US20180348742A1 (en) * | 2017-06-01 | 2018-12-06 | X Development Llc | Planning and Adapting Projects Based on a Buildability Analysis |
US10676022B2 (en) | 2017-12-27 | 2020-06-09 | X Development Llc | Visually indicating vehicle caution regions |
WO2019139815A1 (en) | 2018-01-12 | 2019-07-18 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
TWI822729B (zh) | 2018-02-06 | 2023-11-21 | 美商即時機器人股份有限公司 | 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備 |
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 |
US10899006B2 (en) * | 2018-05-01 | 2021-01-26 | X Development Llc | Robot navigation using 2D and 3D path planning |
US11727289B2 (en) * | 2018-05-04 | 2023-08-15 | International Business Machines Corporation | Iterative generation of top quality plans in automated plan generation for artificial intelligence applications and the like |
US11000950B2 (en) * | 2018-06-01 | 2021-05-11 | X Development Llc | Robotic motion planning |
CN109634284B (zh) * | 2019-01-15 | 2021-07-23 | 安徽工程大学 | 基于嵌套三分算法的机器人执行端避障的路径规划方法 |
US11154986B2 (en) | 2019-01-24 | 2021-10-26 | Intrinsic Innovation Llc | Local replanning of robot movements |
US10809734B2 (en) | 2019-03-13 | 2020-10-20 | Mobile Industrial Robots A/S | Route planning in an autonomous device |
CN113905855B (zh) | 2019-04-17 | 2023-08-25 | 实时机器人有限公司 | 运动规划图生成用户界面、系统、方法和规则 |
CN114206698B (zh) | 2019-06-03 | 2024-07-02 | 实时机器人有限公司 | 在具有动态障碍物的环境中促进运动规划的装置、方法和物品 |
EP3753684B1 (de) * | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Verfahren und system zur robotermanipulationsplanung |
US11014237B2 (en) | 2019-07-11 | 2021-05-25 | Intelligrated Headquarters, Llc | Methods, systems, and apparatuses, for path planning and execution in a robotic system |
WO2021041223A1 (en) | 2019-08-23 | 2021-03-04 | Realtime Robotics, Inc. | Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk |
US11747787B2 (en) | 2019-08-30 | 2023-09-05 | Intrinsic Innovation Llc | Combining transformers for robotics planning |
WO2021041960A1 (en) * | 2019-08-30 | 2021-03-04 | X Development Llc | Splitting transformers for robotics planning |
US11526823B1 (en) | 2019-12-27 | 2022-12-13 | Intrinsic Innovation Llc | Scheduling resource-constrained actions |
TW202146189A (zh) | 2020-01-22 | 2021-12-16 | 美商即時機器人股份有限公司 | 於多機器人操作環境中之機器人之建置 |
US11592299B2 (en) | 2020-03-19 | 2023-02-28 | Mobile Industrial Robots A/S | Using static scores to control vehicle operations |
CN112621751B (zh) * | 2020-12-10 | 2022-09-30 | 珠海格力电器股份有限公司 | 机器人的碰撞检测方法及装置、机器人 |
US11518024B2 (en) | 2021-02-10 | 2022-12-06 | Intrinsic Innovation Llc | Extensible underconstrained robotic motion planning |
US12115670B2 (en) | 2021-12-15 | 2024-10-15 | Intrinsic Innovation Llc | Equipment specific motion plan generation for robotic skill adaptation |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4369563A (en) * | 1965-09-13 | 1983-01-25 | Molins Limited | Automated machine tool installation with storage means |
US4309600A (en) * | 1967-12-15 | 1982-01-05 | Cincinnati Milacron Inc. | Machine tool |
US3654616A (en) * | 1970-06-29 | 1972-04-04 | Unimation Inc | Program selection arrangement for manipulator apparatus |
US3890552A (en) * | 1972-12-29 | 1975-06-17 | George C Devol | Dual-armed multi-axes program controlled manipulators |
NZ179965A (en) * | 1975-02-12 | 1978-11-13 | A Bottomley | Electromagnetic work holder on sheet metal brake |
US4260940A (en) * | 1975-10-28 | 1981-04-07 | Unimation, Inc. | Programmable automatic assembly system |
IT1122696B (it) * | 1979-08-02 | 1986-04-23 | Salvagnini Transferica Spa | Perfezionamento nelle presse-piegatrici |
JPS5841927B2 (ja) * | 1979-10-25 | 1983-09-16 | 攻 牧野 | プレス曲げ加工用工具 |
JPS57113116A (en) * | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
JPH065486B2 (ja) * | 1981-03-26 | 1994-01-19 | 株式会社安川電機 | ロボットの軌跡制御方法 |
JPS5856003A (ja) * | 1981-09-30 | 1983-04-02 | Hitachi Ltd | 工業用ロボツトの制御方法 |
US4501135A (en) * | 1982-02-09 | 1985-02-26 | L & F Industries | Stress sensor for yield-point detection in a stretch press |
US4641251A (en) * | 1982-02-16 | 1987-02-03 | Inoue-Japax Research Incorporated | Robot |
CH655874A5 (de) * | 1982-06-07 | 1986-05-30 | Haemmerle Ag Maschf | Werkzeugeinrichtung an einer abkantpresse. |
JPS59114609A (ja) * | 1982-12-22 | 1984-07-02 | Hitachi Ltd | ロボットの制御装置 |
JPS59189415A (ja) * | 1983-04-13 | 1984-10-27 | Hitachi Ltd | 工業用ロボツトの動作教示方法および装置 |
CH654761A5 (fr) * | 1984-02-03 | 1986-03-14 | Beyeler Machines Sa | Presse-plieuse dont le dispositif de pliage permet un controle continu de l'angle de pliage de la piece a plier. |
US4658625A (en) * | 1984-03-30 | 1987-04-21 | Amada Company, Limited | Bending machine and a die changing system for such bending machine |
US5146670A (en) * | 1985-04-24 | 1992-09-15 | The Boeing Company | Profiling and deburring of workpieces |
US4998206A (en) * | 1988-07-29 | 1991-03-05 | The Boeing Company | Automated method and apparatus for fabricating sheet metal parts and the like using multiple manufacturing stations |
US4942767A (en) * | 1986-11-19 | 1990-07-24 | Massachusetts Institute Of Technology | Pressure transducer apparatus |
US4745812A (en) * | 1987-03-25 | 1988-05-24 | The United States Of America As Represented By The Secretary Of The Army | Triaxial tactile sensor |
US4802357A (en) * | 1987-05-28 | 1989-02-07 | The Boeing Company | Apparatus and method of compensating for springback in a workpiece |
US4831549A (en) * | 1987-07-28 | 1989-05-16 | Brigham Young University | Device and method for correction of robot inaccuracy |
JPH07107648B2 (ja) * | 1987-09-09 | 1995-11-15 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 物体間衝突検出装置 |
EP0333872B1 (de) * | 1987-09-18 | 1995-08-23 | Wacoh Corporation | Greifer für Roboter |
DE3739173A1 (de) * | 1987-11-19 | 1989-06-01 | Feintool Int Holding | Verfahren und vorrichtung zum biegen von werkstuecken |
US5083256A (en) * | 1988-03-09 | 1992-01-21 | North American Philips Corporation | Path planning with transition changes |
US4949277A (en) * | 1988-03-09 | 1990-08-14 | North American Philips Corporation | Differential budding: method and apparatus for path planning with moving obstacles and goals |
GB2211002B (en) * | 1987-12-15 | 1992-01-08 | Amada Co Ltd | Device and method for controlling a manipulator for a plate bending machine |
DE3902149C2 (de) * | 1988-01-29 | 2000-05-18 | Amada Co | Biegeeinrichtung und Verfahren zum Positionieren von Werkstücken in einer Blechbiegeeinrichtung |
IT1219110B (it) * | 1988-03-15 | 1990-05-03 | Prima Ind Spa | Dispositivo manipolatore di pezzi di lamiera per una pressa piegatrice e procedimento per la fabbricazione di pezzi profilati di lamiera mediante piegatura alla pressa |
US5047916A (en) * | 1988-03-25 | 1991-09-10 | Kabushiki Kaisha Toshiba | Method and apparatus of free space enumeration for collision avoidance |
FR2630358B1 (fr) * | 1988-04-21 | 1993-12-10 | Picot Sa | Procede et dispositif pour le controle du retour elastique, lors du cintrage d'un element allonge tel que tube |
AT389829B (de) * | 1988-05-03 | 1990-02-12 | Haemmerle Ag | Verfahren zum biegen von blechstuecken mit hilfe einer biegeeinrichtung |
IT1219302B (it) * | 1988-05-16 | 1990-05-03 | Prima Ind Spa | Macchina per la fabbricazione di pezzi di lamiera piegata |
US5031441A (en) * | 1988-07-29 | 1991-07-16 | The Boeing Company | Two arm robot |
US4947666A (en) * | 1988-09-16 | 1990-08-14 | The Boeing Company | Method and apparatus for bending an elongate workpiece |
JP2735126B2 (ja) * | 1988-12-27 | 1998-04-02 | キヤノン株式会社 | ロボットの制御方法及びその制御装置 |
IT1224044B (it) * | 1988-12-29 | 1990-09-26 | Prima Ind Spa | Pressa piegatrice di precisione per pezzi di lamiera lunghi |
US5081763A (en) * | 1989-05-30 | 1992-01-21 | The Boeing Company | Automated drilling station |
US5307282A (en) * | 1989-09-22 | 1994-04-26 | Hewlett-Packard Company | Method of computer-aided prediction of collisions between objects including fabrication tools and parts to be fabricated |
JP2773917B2 (ja) * | 1989-09-22 | 1998-07-09 | 株式会社アマダ | ベンディング装置のワーク位置決め装置 |
JP2727241B2 (ja) * | 1989-09-26 | 1998-03-11 | 株式会社小松製作所 | プレスブレーキシステムのワーク位置決め装置および方法 |
JP2723994B2 (ja) * | 1989-10-06 | 1998-03-09 | 株式会社アマダ | ベンディング装置のゲージング処理方法 |
US5009098A (en) * | 1989-11-27 | 1991-04-23 | Machinefabriek Wila B.V. | Press and curve-forming means therefor |
IT1237750B (it) * | 1989-12-29 | 1993-06-15 | Prima Ind Spa | Procedimento di piegatura di una lamiera |
US5329597A (en) * | 1990-02-23 | 1994-07-12 | Amada Company, Ltd. | Device and method for measuring angles of a work |
US5036694A (en) * | 1990-07-02 | 1991-08-06 | The Boeing Company | Method and apparatus for bending the flange of a workpiece |
US5088181A (en) * | 1990-10-09 | 1992-02-18 | The Boeing Company | Sheet metal part machining system |
US5325468A (en) * | 1990-10-31 | 1994-06-28 | Sanyo Electric Co., Ltd. | Operation planning system for robot |
JP2661395B2 (ja) * | 1991-04-09 | 1997-10-08 | ダイキン工業株式会社 | プレスブレーキシステムにおけるワーク位置決め方法およびその装置 |
JP3181382B2 (ja) * | 1992-07-15 | 2001-07-03 | 株式会社アマダ | 折曲げ加工機のワーク位置決め装置 |
US5280622A (en) * | 1992-07-17 | 1994-01-18 | Mitsubishi Semiconductor America, Inc. | Combined light beam and ultrasonic transducer safety sensing system |
US5499320A (en) * | 1993-03-24 | 1996-03-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Extended task space control for robotic manipulators |
IT1260677B (it) * | 1993-07-29 | 1996-04-22 | Antonio Codatto | Manipolatore per la movimentazione di lastre, particolarmente pannellidi lamiera, nei confronti di una macchina operatrice, quale una pressapiegatrice. |
DE4408982C1 (de) * | 1994-03-16 | 1995-05-18 | Deutsche Forsch Luft Raumfahrt | Autonomes Navigationssystem für einen mobilen Roboter oder Manipulator |
US5495410A (en) * | 1994-08-12 | 1996-02-27 | Minnesota Mining And Manufacturing Company | Lead-through robot programming system |
US5761940A (en) * | 1994-11-09 | 1998-06-09 | Amada Company, Ltd. | Methods and apparatuses for backgaging and sensor-based control of bending operations |
EP1236546A3 (de) | 1994-11-09 | 2002-12-11 | Amada Company, Ltd. | Verfahren und Vorrichtung zur Steuerung eines Greifers |
US5969973A (en) * | 1994-11-09 | 1999-10-19 | Amada Company, Ltd. | Intelligent system for generating and executing a sheet metal bending plan |
US5835684A (en) * | 1994-11-09 | 1998-11-10 | Amada Company, Ltd. | Method for planning/controlling robot motion |
US5822207A (en) * | 1996-05-06 | 1998-10-13 | Amadasoft America, Inc. | Apparatus and method for integrating intelligent manufacturing system with expert sheet metal planning and bending system |
-
1994
- 1994-11-09 US US08/338,115 patent/US5835684A/en not_active Expired - Lifetime
-
1995
- 1995-11-09 WO PCT/JP1995/002290 patent/WO1996014967A1/en active IP Right Grant
- 1995-11-09 EP EP95936761A patent/EP0738199B1/de not_active Expired - Lifetime
- 1995-11-09 DE DE69515464T patent/DE69515464T2/de not_active Expired - Lifetime
- 1995-11-09 EP EP99109178A patent/EP0945227A3/de not_active Withdrawn
- 1995-11-09 JP JP8515913A patent/JPH09509513A/ja active Pending
-
1997
- 1997-07-22 US US08/898,551 patent/US5889926A/en not_active Expired - Lifetime
-
1998
- 1998-09-25 US US09/160,142 patent/US6493607B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008058298B4 (de) * | 2008-04-29 | 2016-01-14 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten Bewegungsplanung eines Roboters |
Also Published As
Publication number | Publication date |
---|---|
EP0738199A1 (de) | 1996-10-23 |
EP0738199B1 (de) | 2000-03-08 |
EP0945227A3 (de) | 2000-06-07 |
US5835684A (en) | 1998-11-10 |
US5889926A (en) | 1999-03-30 |
JPH09509513A (ja) | 1997-09-22 |
DE69515464D1 (de) | 2000-04-13 |
WO1996014967A1 (en) | 1996-05-23 |
EP0945227A2 (de) | 1999-09-29 |
US6493607B1 (en) | 2002-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69515464T2 (de) | Verfahren zur planung/steuerung von roboterbewegungen | |
DE112021001104T5 (de) | Bewegungsplanungsverfahren mit kollisionsvermeidung für industrieroboter | |
DE69535687T2 (de) | Biegevorrichtung mit Mitteln zur Durchführung von Installationsvorgängen | |
DE69529607T2 (de) | Intelligentes system zur herstellung und ausführung eines metallplattenbiegeplans | |
EP3013537B2 (de) | Verfahren und system zur programmierung eines roboters | |
DE102018122376B3 (de) | Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators | |
DE102021120633A1 (de) | Verfahren und system zur industrieroboter-bewegungssteuerung | |
DE69320670T2 (de) | System zur Wegplanung mit Hindernisvermeidung für einen Mechanismus mit mehreren Freiheitsgraden | |
DE102021107453A1 (de) | Schnelle roboterbewegungsoptimierung mit distanzfeld | |
DE102021107495A1 (de) | Erzeugung eines anfangsbezuges zur optimierung der bewegungsplanung von robotern | |
EP2500789B1 (de) | Roboter und Verfahren zum Betreiben eines Roboters | |
EP2353802A2 (de) | Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters | |
EP1366867A2 (de) | Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten | |
DE102022122818A1 (de) | Zugriffserzeugung für maschinenbeschickung | |
WO2007093413A1 (de) | Roboter mit einer steuereinheit zum steuern einer bewegung zwischen einer anfangspose und einer endpose | |
DE102021204846B4 (de) | Verfahren zum Steuern einer Robotervorrichtung | |
DE102022107249A1 (de) | Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben | |
DE102021109195A1 (de) | Auf demontage basierende montageplanung | |
EP2208584B1 (de) | Verfahren zur Steuerung von Industrierobotern | |
DE102022130341A1 (de) | Punktmengen-störungsprüfung | |
DE102021201918A1 (de) | Vorrichtung und Verfahren zum Steuern ein oder mehrerer Roboter | |
DE102022122663A1 (de) | Verfahren zur dynamischen geschwindigkeitsändrung für ein robotiksystem | |
DE102012022190B4 (de) | Inverse Kinematik | |
DE19800552C2 (de) | Verfahren zur Kommandosteuerung eines Manipulators | |
DE102023206009B3 (de) | Verfahren und System zum Trainieren einer wenigstes teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen und/oder zum Betreiben eines Roboters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |