DE112021007371T5 - ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD - Google Patents
ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD Download PDFInfo
- Publication number
- DE112021007371T5 DE112021007371T5 DE112021007371.0T DE112021007371T DE112021007371T5 DE 112021007371 T5 DE112021007371 T5 DE 112021007371T5 DE 112021007371 T DE112021007371 T DE 112021007371T DE 112021007371 T5 DE112021007371 T5 DE 112021007371T5
- Authority
- DE
- Germany
- Prior art keywords
- manipulator
- gradient
- calculation unit
- command trajectory
- command
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 191
- 238000012937 correction Methods 0.000 claims abstract description 29
- 238000011156 evaluation Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 38
- 230000002093 peripheral effect Effects 0.000 claims description 30
- 230000001133 acceleration Effects 0.000 claims description 18
- 238000010801 machine learning Methods 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000002939 conjugate gradient method Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 51
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 21
- 230000004888 barrier function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 208000012661 Dyskinesia Diseases 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/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
-
- 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/40517—Constraint motion planning, variational dynamic programming
-
- 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/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Eine Robotersteuervorrichtung (100) beinhaltet eine Geschwindigkeitsberechnungseinheit (4), die ein Geschwindigkeitsprofil für einen Manipulator (1) auf Grundlage einer für den Manipulator (1) voreingestellten Befehlsbahn, einer Beschränkungsbedingung für den Manipulator (1) und eines Bewertungsindex auf Grundlage einer Bewegungszeit des Manipulators (1) berechnet; eine Gradientenberechnungseinheit (5), die einen Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn auf Grundlage des Geschwindigkeitsprofils berechnet, wobei der berechnete Gradient als Gradienteninformationen definiert ist; eine Befehlsbahnkorrektureinheit (6), welche die Befehlsbahn auf Grundlage der Gradienteninformationen korrigiert; und eine Steuereinheit (8), die den Manipulator (1) derart steuert, dass der Manipulator der korrigierten Befehlsbahn folgt.A robot control device (100) includes a speed calculation unit (4) which generates a speed profile for a manipulator (1) based on a command path preset for the manipulator (1), a restriction condition for the manipulator (1) and an evaluation index based on a movement time of the manipulator (1) calculated; a gradient calculation unit (5) that calculates a gradient of the movement time with respect to the command trajectory based on the speed profile, the calculated gradient being defined as gradient information; a command trajectory correction unit (6) which corrects the command trajectory based on the gradient information; and a control unit (8) which controls the manipulator (1) such that the manipulator follows the corrected command path.
Description
GebietArea
Die vorliegende Offenbarung betrifft eine Robotersteuervorrichtung und ein Robotersteuerverfahren zum Steuern eines Manipulators.The present disclosure relates to a robot control device and a robot control method for controlling a manipulator.
Hintergrundbackground
Fertigungslinien und dergleichen in Fabriken stellen einen Bestückungsprozess bereit, der es einem Manipulator ermöglicht, Komponenten und Produkte (nachfolgend als „Werkstücke“ bezeichnet) zu greifen und zu transportieren. Ein Problem bei einem solchen Bestückungsprozess ist, dass, wenn die Bewegungsgeschwindigkeit und Beschleunigung eines Roboters nicht geeignet sind, eine übermäßige Trägheitskraft und ein übermäßiges Moment auf das Werkstück und einen Halteteil des Manipulators erzeugt werden, was dazu führt, dass das Werkstück aus dem Manipulator herausfällt. Zur Lösung dieses Problems berücksichtigt eine vorgeschlagene Technik beim Bestimmen einer geeigneten Bewegungsbedingung die Kraft und das Moment, die an dem Werkstück erzeugt werden.Production lines and the like in factories provide an assembly process that allows a manipulator to grasp and transport components and products (hereinafter referred to as “workpieces”). A problem with such an assembly process is that if the moving speed and acceleration of a robot are not suitable, excessive inertia force and moment will be generated on the workpiece and a holding part of the manipulator, causing the workpiece to fall out of the manipulator . To solve this problem, a proposed technique takes into account the force and moment generated on the workpiece when determining an appropriate motion condition.
Eine in Patentliteratur 1 offenbarte Simulationsvorrichtung führt eine Simulation unter Verwendung eines Simulationsmodells eines Roboters durch, der einen elastischen Halter beinhaltet, und ändert, wenn ein an dem Halter erzeugtes Lastmoment größer als ein Schwellenwert ist, eine Ausführungsbedingung der Simulation, sodass das Lastmoment kleiner oder gleich dem Schwellenwert wird.A simulation apparatus disclosed in
Liste der AnführungenList of citations
PatentliteraturPatent literature
Patentliteratur 1:
Nicht-PatentliteraturNon-patent literature
- Nicht-Patentliteratur 1: D. Verscheure et al., „Time-Optimal Path Tracking for Robots: A Convex Optimization Approach“, IEEE Trans. Automatic Control, 2009Non-Patent Literature 1: D. Verscheure et al., “Time-Optimal Path Tracking for Robots: A Convex Optimization Approach,” IEEE Trans. Automatic Control, 2009
- Nicht-Patentliteratur 2: B. Amos et al., „OptNet: Differentiable Optimization as a Layer in Neural Networks“, Tagungsband der 34. Internationalen Konferenz zum maschinellen Lernen, 2017Non-Patent Literature 2: B. Amos et al., “OptNet: Differentiable Optimization as a Layer in Neural Networks,” Proceedings of the 34th International Conference on Machine Learning, 2017
KurzdarstellungShort presentation
Technische ProblemeTechnical problems
Ein Problem bei Patentliteratur 1 ist, dass das Bestimmen einer geeigneten Ausführungsbedingung unter Berücksichtigung der Kraft und des Moments, die an dem Werkstück verursacht werden, zeitaufwändig ist, da die Ausführungsbedingung der Simulation wiederholte Änderungen durchlaufen muss, bis das Lastmoment kleiner oder gleich dem Schwellenwert wird. Die automatisch anpassbare Ausführungsbedingung der Simulation ist allein eine maximale Beschleunigung und es ist schwierig, Bewegungsbedingungen mit höheren Freiheitsgraden, wie etwa eine Bewegungsbahn und ein Geschwindigkeitsprofil des Roboters, anzupassen. Daraus ergibt sich ein Problem, dass eine Bewegungszeit vom Beginn der Bewegung des Manipulators bis zum Greifen des Werkstücks durch den Manipulator nicht verkürzt wird.A problem with
Die vorliegende Offenbarung wurde geschaffen, um die oben genannten Probleme zu lösen, und eine Aufgabe der vorliegenden Offenbarung besteht darin, eine Robotersteuervorrichtung und ein Robotersteuerverfahren bereitzustellen, die eine schnellere Bestimmung einer Befehlsbahn und eines Geschwindigkeitsprofils für einen Manipulator bereitstellen können, die zu einer kürzeren Bewegungszeit führen sowie eine Beschränkungsbedingung erfüllen, die sich beispielsweise auf die Kraft und das Moment bezieht, die an einem Werkstück erzeugt werden.The present disclosure was made to solve the above-mentioned problems, and an object of the present disclosure is to provide a robot control device and a robot control method that can provide faster determination of a command trajectory and a speed profile for a manipulator, resulting in a shorter movement time lead and satisfy a constraint condition that relates, for example, to the force and moment generated on a workpiece.
Lösung der Problemesolving the problems
Eine Robotersteuervorrichtung gemäß der vorliegenden Offenbarung umfasst: eine Geschwindigkeitsberechnungseinheit zum Berechnen eines Geschwindigkeitsprofils für einen Manipulator auf Grundlage einer für den Manipulator voreingestellten Befehlsbahn, einer Beschränkungsbedingung für den Manipulator und eines Bewertungsindex auf Grundlage einer Bewegungszeit des Manipulators; eine Gradientenberechnungseinheit zum Berechnen eines Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn auf Grundlage des Geschwindigkeitsprofils, wobei der berechnete Gradient als Gradienteninformationen definiert ist; eine Befehlsbahnkorrektureinheit zum Korrigieren der Befehlsbahn auf Grundlage der Gradienteninformationen; und eine Steuereinheit zum Steuern des Manipulators derart, dass der Manipulator der korrigierten Befehlsbahn folgt.A robot control device according to the present disclosure includes: a speed calculation unit for calculating a speed profile for a manipulator based on a command trajectory preset for the manipulator, a restriction condition for the manipulator, and an evaluation index based on a movement time of the manipulator; a gradient calculation unit for calculating a gradient of the movement time with respect to the command trajectory based on the velocity profile, the calculated gradient being defined as gradient information; a command trajectory correction unit for correcting the command trajectory based on the gradient information; and a control unit for controlling the manipulator such that the manipulator follows the corrected command path.
Ein Robotersteuerverfahren gemäß der vorliegenden Offenbarung umfasst: einen Schritt zum Berechnen eines Geschwindigkeitsprofils für einen Manipulator auf Grundlage einer für den Manipulator voreingestellten Befehlsbahn, einer Beschränkungsbedingung für den Manipulator und eines Bewertungsindex auf Grundlage einer Bewegungszeit des Manipulators; einen Schritt zum Berechnen eines Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn auf Grundlage des Geschwindigkeitsprofils, wobei der berechnete Gradient als Gradienteninformationen definiert ist; einen Schritt zum Korrigieren der Befehlsbahn auf Grundlage der Gradienteninformationen; und einen Schritt zum Steuern des Manipulators derart, dass der Manipulator der korrigierten Befehlsbahn folgt.A robot control method according to the present disclosure includes: a step of calculating a speed profile for a manipulator based on a command trajectory preset for the manipulator, a constraint condition for the manipulator, and an evaluation index based on a movement time of the manipulator; a step for calculating a gradient of movement time with respect to the command trajectory based on the velocity profils, where the calculated gradient is defined as gradient information; a step of correcting the command trajectory based on the gradient information; and a step of controlling the manipulator such that the manipulator follows the corrected command trajectory.
Vorteilhafte Wirkungen der ErfindungAdvantageous effects of the invention
Bei der Robotersteuervorrichtung und dem Robotersteuerverfahren gemäß der vorliegenden Offenbarung wird das Geschwindigkeitsprofil auf Grundlage der Beschränkungsbedingung für den Manipulator und des Bewertungsindex auf Grundlage der Bewegungszeit des Manipulators berechnet und wird die Befehlsbahn auf Grundlage des Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn korrigiert. Die korrigierte Befehlsbahn und das Geschwindigkeitsprofil für den Manipulator, die zu einer kürzeren Bewegungszeit führen sowie die Beschränkungsbedingung erfüllen, können schneller bestimmt werden.In the robot control device and the robot control method according to the present disclosure, the speed profile is calculated based on the restriction condition for the manipulator and the evaluation index based on the movement time of the manipulator, and the command trajectory is corrected based on the gradient of the movement time with respect to the command trajectory. The corrected command trajectory and velocity profile for the manipulator, resulting in a shorter movement time and satisfying the constraint condition, can be determined more quickly.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
-
1 ist ein Blockdiagramm, das ein Beispiel einer Robotersteuervorrichtung gemäß einer ersten Ausführungsform veranschaulicht.1 is a block diagram illustrating an example of a robot control device according to a first embodiment. -
2 ist eine Darstellung, die ein Konfigurationsbeispiel veranschaulicht, das die Robotersteuervorrichtung gemäß der ersten Ausführungsform oder eine Robotersteuervorrichtung gemäß einer zweiten, dritten oder vierten Ausführungsform beinhaltet.2 is a diagram illustrating a configuration example including the robot control device according to the first embodiment or a robot control device according to a second, third or fourth embodiment. -
3 ist ein Blockdiagramm, das ein Beispiel einer Geschwindigkeitsberechnungseinheit gemäß jeder von der ersten bis vierten Ausführungsform veranschaulicht.3 is a block diagram illustrating an example of a speed calculation unit according to each of the first to fourth embodiments. -
4 ist ein Blockdiagramm, das ein Beispiel einer Gradientenberechnungseinheit gemäß jeder von der ersten bis vierten Ausführungsform veranschaulicht.4 is a block diagram illustrating an example of a gradient calculation unit according to each of the first to fourth embodiments. -
5 ist ein Blockdiagramm, das ein Beispiel einer Steuereinheit gemäß jeder von der ersten bis vierten Ausführungsform veranschaulicht.5 is a block diagram illustrating an example of a control unit according to each of the first to fourth embodiments. -
6 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung gemäß der ersten Ausführungsform arbeitet.6 is a flowchart illustrating an example of how the robot control device according to the first embodiment operates. -
7 ist ein Blockdiagramm, das ein Beispiel der Robotersteuervorrichtung gemäß der zweiten Ausführungsform veranschaulicht.7 is a block diagram illustrating an example of the robot control device according to the second embodiment. -
8 ist ein Blockdiagramm, das ein Beispiel einer Befehlsbahnkorrektureinheit gemäß der zweiten Ausführungsform veranschaulicht.8th is a block diagram illustrating an example of a command path correction unit according to the second embodiment. -
9 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung gemäß der zweiten Ausführungsform arbeitet.9 is a flowchart illustrating an example of how the robot control device according to the second embodiment operates. -
10 ist ein Blockdiagramm, das ein Beispiel der Robotersteuervorrichtung gemäß der dritten Ausführungsform veranschaulicht.10 is a block diagram illustrating an example of the robot control device according to the third embodiment. -
11 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung gemäß der dritten Ausführungsform arbeitet.11 is a flowchart illustrating an example of how the robot control device according to the third embodiment operates. -
12 ist ein Blockdiagramm, das ein Beispiel der Robotersteuervorrichtung gemäß der vierten Ausführungsform veranschaulicht.12 is a block diagram illustrating an example of the robot control device according to the fourth embodiment. -
13 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung gemäß der vierten Ausführungsform arbeitet.13 is a flowchart illustrating an example of how the robot control device according to the fourth embodiment operates. -
14 ist eine Darstellung, die Hardwarekonfigurationen für die Robotersteuervorrichtung gemäß jeder von der ersten bis vierten Ausführungsform veranschaulicht.14 is a diagram illustrating hardware configurations for the robot control device according to each of the first to fourth embodiments.
Beschreibung von AusführungsformenDescription of embodiments
Erste Ausführungsform.First embodiment.
Die Robotersteuervorrichtung 100 beinhaltet eine Beschränkungsbedingungsspeichereinheit 2, eine Befehlsbahnspeichereinheit 3, eine Geschwindigkeitsberechnungseinheit 4, eine Gradientenberechnungseinheit 5, eine Befehlsbahnkorrektureinheit 6, eine Befehlspunktsequenzberechnungseinheit 7 und eine Steuereinheit 8.The
Die Beschränkungsbedingungsspeichereinheit 2 speichert einen Parameter oder mehrere Parameter einer Beschränkungsbedingung, die in Bezug auf den Manipulator 1 voreingestellt sind. Die Beschränkungsbedingung ist eine Bedingung, die sich auf mindestens eines von einer Gelenkwinkelgeschwindigkeit, einer Gelenkwinkelbeschleunigung, einem Gelenkdrehmoment, einer Handspitzengeschwindigkeit, einer Handspitzenbeschleunigung des Manipulators 1, einer Kraft, die an einem durch den Manipulator 1 gegriffenen Objekt (Werkstück 112) erzeugt wird, und einem Moment, das an dem gegriffenen Objekt erzeugt wird, bezieht. Wenn die Beschränkungsbedingung beispielsweise eine Bedingung bezüglich der Handspitzengeschwindigkeit vh ist, ist die Beschränkungsbedingung „vmin≤vh≤vmax“, wobei vmin eine Untergrenze für die Handspitzengeschwindigkeit vh ist und vmax eine Obergrenze für die Handspitzengeschwindigkeit vh ist. Die Parameter der Beschränkungsbedingung sind in diesem Fall vmin und vmax. Die Beschränkungsbedingung und der/die Parameter der Beschränkungsbedingung sind nicht darauf beschränkt. Die Beschränkungsbedingung kann beispielsweise „|vh| ≤vth“ sein, wobei, wenn der Parameter der Beschränkungsbedingung vth ist, |vh| ein Absolutwert der Handspitzengeschwindigkeit vh ist und vth ein Schwellenwert der Handspitzengeschwindigkeit vh ist.The restriction
Der Parameter oder die Parameter der Beschränkungsbedingung wurden als voreingestellt beschrieben; die Robotersteuervorrichtung 100 kann jedoch eine nicht veranschaulichte Greifbeschränkungslerneinheit beinhalten. Unter Verwendung von maschinellem Lernen kann die Greifbeschränkungslerneinheit den/die Parameter der Beschränkungsbedingung erlernen, die sich auf mindestens eines von der Kraft und dem Moment bezieht, die an dem Werkstück 112 erzeugt werden. In diesem Fall kann die Greifbeschränkungslerneinheit den/die so erlangten Parameter der Beschränkungsbedingung in der Beschränkungsbedingungsspeichereinheit 2 speichern. Konkret erlangt die Greifbeschränkungslerneinheit mit einem nicht veranschaulichten Sensor die Kraft und das Moment, die an dem Werkstück 112 erzeugt werden, während der Manipulator 1 das Werkstück 112 greift, und erlernt den/die Parameter der Beschränkungsbedingung auf Grundlage erlangter Werte.The parameter or parameters of the constraint condition were described as preset; however, the
Die Befehlsbahnspeichereinheit 3 speichert eine für den Manipulator 1 voreingestellte Befehlsbahn. Wenn die Befehlsbahn beispielsweise als eine Spline-Kurve angegeben ist, speichert die Befehlsbahnspeichereinheit 3 ein Paar aus einer Position jedes Punktes auf der Spline-Kurve und einem Wert (im Bereich von 0 bis 1) eines Parameters der Kurve an dieser Position. Alternativ dazu kann die Befehlsbahnspeichereinheit 3 nur die Position jedes Punkts auf der Spline-Kurve speichern. In diesem Fall wird der Wert des Parameters beispielsweise anhand eines Abstands zwischen den Punkten auf der Spline-Kurve berechnet. Neben der Spline-Kurve ist ein Beispiel für die Befehlsbahn, das angegeben werden kann, eine B-Spline-Kurve oder eine Bezierkurve. Die Befehlsbahnspeichereinheit 3 speichert eine korrigierte Befehlsbahn von der später beschriebenen Befehlsbahnkorrektureinheit 6, in welchem Fall die voreingestellte Befehlsbahn bei erneutem Speichern der korrigierten Befehlsbahn verworfen wird.The command
Die Geschwindigkeitsberechnungseinheit 4 berechnet ein Geschwindigkeitsprofil für den Manipulator 1 auf Grundlage der voreingestellten Befehlsbahn für den Manipulator 1, der Beschränkungsbedingung für den Manipulator 1 und eines Bewertungsindex auf Grundlage einer Bewegungszeit des Manipulators 1. Mit anderen Worten berechnet die Geschwindigkeitsberechnungseinheit 4 auf Grundlage der Befehlsbahn von der Befehlsbahnspeichereinheit 3 und des/der Parameter der Beschränkungsbedingung von der Beschränkungsbedingungsspeichereinheit 2 das Geschwindigkeitsprofil entlang der Befehlsbahn, wobei das Geschwindigkeitsprofil die Bewegungszeit des Manipulators 1 innerhalb eines Bereichs der Beschränkungsbedingung verkürzt. In Fällen, bei denen die Robotersteuervorrichtung 100 die Greifbeschränkungslerneinheit beinhaltet, berechnet die Geschwindigkeitsberechnungseinheit 4 alternativ das Geschwindigkeitsprofil auf Grundlage der Befehlsbahn und des/der Parameter der Beschränkungsbedingung, welche die Greifbeschränkungslerneinheit erlernt hat. Der auf der Bewegungszeit des Manipulators 1 beruhende Bewertungsindex bezieht sich hier auf eine Bewertungsfunktion, die durch eine später beschriebene Profilberechnungseinheit 44 zu verwenden ist. Diese Bewertungsfunktion ist eine Funktion, bei der die Beschleunigung und Geschwindigkeit des Manipulators 1 als Variablen über Parameter formuliert sind. Das Geschwindigkeitsprofil stellt eine zeitliche Geschwindigkeitsänderung jedes der Gelenke dar, wenn sich der Manipulator 1 entlang der Befehlsbahn bewegt. Die Geschwindigkeitsberechnungseinheit 4 berechnet das Geschwindigkeitsprofil mit einem Optimierungsproblem, das die Bewegungszeit minimiert, die in Form der Bewertungsfunktion ausgedrückt wird.The speed calculation unit 4 calculates a speed profile for the
Die Befehlsinterpolationsberechnungseinheit 41 verwendet eine voreingestellte natürliche Zahl N, um eine Kurve der Befehlsbahn von der Befehlsbahnspeichereinheit 3 mit N Punkten zu interpolieren, und berechnet eine Position jedes der Interpolationspunkte auf der Befehlsbahn und eine erste und eine zweite Ableitung in Bezug auf den Parameter der Befehlsbahn. Wenn die Befehlsbahn beispielsweise als die Spline-Kurve angegeben ist, wird eine Gelenkposition (oder ein Gelenkwinkel) jeder Achse des Manipulators 1 als ein kubisches stückweises Polynom in Bezug auf den Parameter ausgedrückt. Somit ermöglicht die Verwendung einer Ableitung des Polynoms die Berechnung von nicht nur der Position (oder eines Winkels) jedes Interpolationspunkts, sondern auch der ersten und der zweiten Ableitung in Bezug auf den Parameter.The command
Die Dynamikberechnungseinheit 42 führt eine Kinematikberechnung und eine Dynamikberechnung für den Manipulator 1 unter Verwendung der Position jedes Interpolationspunkts und der ersten und der zweiten Ableitung von der Befehlsinterpolationsberechnungseinheit 41 durch und gibt ein Kinematikberechnungsergebnis und ein Dynamikberechnungsergebnis aus. Die Kinematikberechnung bezieht sich auf ein Berechnen von Geschwindigkeiten, Beschleunigungen, Winkelgeschwindigkeiten und Winkelbeschleunigungen derjenigen, zu denen die Gelenke, die Glieder und das Halteteil 111 des Manipulators 1 gehören, anhand der Geschwindigkeit, der Beschleunigung, der Winkelgeschwindigkeit und der Winkelbeschleunigung jedes Gelenks des Manipulators 1. Die Dynamikberechnung bezieht sich auf ein Berechnen des an jedem Gelenk des Manipulators 1 erzeugten Drehmoments und der Kraft und des Moments, die an dem Halteteil 111 erzeugt werden, anhand der Geschwindigkeiten, der Beschleunigungen, der Winkelgeschwindigkeiten und der Winkelbeschleunigungen derjenigen, zu denen die Gelenke, die Glieder und das Halteteil 111 des Manipulators 1 gehören.The
Die Beschränkungsbedingungskoeffizientenberechnungseinheit 43 berechnet Koeffizienten der Beschränkungsbedingung auf Grundlage des Kinematikberechnungsergebnisses und des Dynamikberechnungsergebnisses von der Dynamikberechnungseinheit 42 und des/der Parameter der Beschränkungsbedingung von dem Beschränkungsbedingungsspeicher 2. Wenn die Beschränkungsbedingung bezüglich der an dem Halteteil 111 erzeugten Kraft durch die folgende Formel (1) beispielhaft ausgedrückt wird, beziehen sich die Koeffizienten der Beschränkungsbedingung auf a, b und c. Mit anderen Worten ist jeder der Koeffizienten der Beschränkungsbedingung ein Koeffizient, der in dem entsprechenden von Termen eines relationalen Ausdrucks beinhaltet ist, der eine Vielzahl von Variablen beinhaltet. Beispielsweise sind die Variablen in Formel (1) hier die Beschleunigung u und die Geschwindigkeit x an dem Interpolationspunkt.
[Formel 1]
[Formula 1]
Die Profilberechnungseinheit 44 berechnet das Geschwindigkeitsprofil auf Grundlage der Koeffizienten der Beschränkungsbedingung von der Beschränkungsbedingungskoeffizientenberechnungseinheit 43. Mit anderen Worten berechnet die Profilberechnungseinheit 44 das Geschwindigkeitsprofil entlang der Befehlsbahn für den Manipulator 1 und die Bewegungszeit des Manipulators 1 durch eine Optimierungsrechnung auf Grundlage der Koeffizienten der Beschränkungsbedingung und der Bewertungsfunktion auf Grundlage der Bewegungszeit des Manipulators 1.The
Ein Verfahren für die Beschränkungsbedingungskoeffizientenberechnungseinheit 43 zum Berechnen der Koeffizienten der Beschränkungsbedingung und ein Verfahren für die Profilberechnungseinheit 44 zum Berechnen des Beschleunigungsprofils sind in Nicht-Patentliteratur 1 dargestellt.A method for the restriction condition
Wie oben beschrieben, ist die Geschwindigkeitsberechnungseinheit 4 imstande, das Geschwindigkeitsprofil zu berechnen, das die Bewegungszeit innerhalb des Bereichs der in der Beschränkungsbedingungsspeichereinheit 2 eingestellten Beschränkungsbedingung verringert. Überdies ermöglicht die Aufnahme der Kraft und des Moments, die an dem Werkstück 112 bei der Beschränkungsbedingung erzeugt werden, dass ein Problem beim Aufnehmen und Platzieren des Werkstücks 112, wie etwa Herausfallen des Werkstücks 112 oder eine an dem Werkstück 112 erzeugte übermäßige Kraft, verhindert wird. Darüber hinaus wird es, da ein in Nicht-Patentliteratur 1 beschriebener Ansatz als ein konvexer Optimierungsansatz bezeichnet wird, der leicht eine globale optimale Lösung ergibt, möglich, das Geschwindigkeitsprofil schneller zu berechnen.As described above, the speed calculation unit 4 is capable of calculating the speed profile that reduces the movement time within the range of the restriction condition set in the restriction
Es wird wieder auf
Die Profilgradientenberechnungseinheit 54 berechnet den Gradienten der Bewegungszeit in Bezug auf die Koeffizienten der Beschränkungsbedingung durch Berechnen eines Gradienten in Bezug auf Koeffizienten des Optimierungsproblems auf Grundlage von beispielsweise einem Verfahren, das einem in Nicht-Patentliteratur 2 dargestellten Verfahren ähnelt.The profile
Die Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit 53 übernimmt eine Eingabe von der Profilgradientenberechnungseinheit 54, wobei die Eingabe durch den Gradienten in Bezug auf die Koeffizienten der Beschränkungsbedingung definiert ist, und berechnet den Gradienten der Bewegungszeit in Bezug auf das Kinematikberechnungsergebnis und den Gradienten der Bewegungszeit in Bezug auf das Dynamikberechnungsergebnis durch Berechnen einer Ableitung einer Rechenprozedur der Beschränkungsbedingungskoeffizientenberechnungseinheit 43 auf Grundlage einer Kettenregel.The constraint condition coefficient
Die Dynamikgradientenberechnungseinheit 52 übernimmt eine Eingabe von der Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit 53, wobei die Eingabe durch den Gradienten der Bewegungszeit in Bezug auf das Kinematikberechnungsergebnis und den Gradienten der Bewegungszeit in Bezug auf das Dynamikberechnungsergebnis definiert ist, und berechnet den Gradienten der Bewegungszeit in Bezug auf die Position jedes Interpolationspunkts auf der Befehlsbahn, den Gradienten der Bewegungszeit in Bezug auf die erste Ableitung in Bezug auf den Parameter der Befehlsbahn und den Gradienten der Bewegungszeit in Bezug auf die zweite Ableitung in Bezug auf den Parameter der Befehlsbahn durch Berechnen einer Ableitung einer Rechenprozedur der Dynamikberechnungseinheit 42 auf Grundlage der Kettenregel.The dynamic
Die Befehlsinterpolationsgradientenberechnungseinheit 51 übernimmt eine Eingabe von der Dynamikgradientenberechnungseinheit 52, wobei die Eingabe durch den Gradienten in Bezug auf die Position jedes Interpolationspunkts auf der Befehlsbahn, den Gradienten in Bezug auf die erste Ableitung in Bezug auf den Parameter der Befehlsbahn und den Gradienten in Bezug auf die zweite Ableitung in Bezug auf den Parameter der Befehlsbahn definiert ist, und berechnet den Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn durch Berechnen einer Ableitung einer Rechenprozedur der Befehlsinterpolationsberechnungseinheit 41 auf Grundlage der Kettenregel. Der Gradient der Bewegungszeit in Bezug auf die Befehlsbahn wird als die Gradienteninformationen aus der Befehlsinterpolationsgradientenberechnungseinheit 51 ausgegeben.The command interpolation
Es wird wieder auf
Die Befehlsbahnkorrektureinheit 6 korrigiert auf Grundlage der Gradienteninformationen die Befehlsbahn, welche die Bewegungszeit des Manipulators 1 verkürzt, wodurch es möglich ist, die Bewegungszeit des Manipulators 1 zu verkürzen. Die Befehlsbahnkorrektureinheit 6 ist aufgrund der Verwendung der Gradienteninformationen zu einer effizienten und schnelleren Befehlsbahnkorrektur imstande.The command
Auf Grundlage der in der Befehlsbahnspeichereinheit 3 gespeicherten korrigierten Befehlsbahn und des Geschwindigkeitsprofils von der Geschwindigkeitsberechnungseinheit 4 berechnet die Befehlspunktsequenzberechnungseinheit 7 eine Befehlspunktsequenz für jeden von vorgegebenen Abtastzeiträumen. Der Abtastzeitraum bezieht sich auf einen Zeitraum, während dessen die später beschriebene Steuereinheit 8 Werte von Strom zu den Aktoren 110 berechnet. Es sei angenommen, dass die korrigierte Befehlsbahn beispielsweise als eine Spline-Kurve angegeben wird. Zum Berechnen der Positionsbefehlspunktsequenz für den Manipulator 1 bei jeder Abtastung führt die Befehlspunktsequenzberechnungseinheit 7 eine Umrechnung zwischen der Zeit und einem Parameter der Kurve als die korrigierte Befehlsbahn auf Grundlage des Geschwindigkeitsprofils in Kombination mit einem stückweisen Polynom der Spline-Kurve als die korrigierte Befehlsbahn mit dem Parameter als Eingabe durch.Based on the corrected command trajectory stored in the command
Die Steuereinheit 8 steuert den Manipulator 1 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt. Mit anderen Worten steuert die Steuereinheit 8 den Manipulator 1 derart, dass der Manipulator 1 der Befehlspunktsequenz von der Befehlspunktsequenzberechnungseinheit 7 folgt.The control unit 8 controls the
Die Vorwärtskopplungssteuereinheit 81 führt beispielsweise eine Filterung, wie etwa eine Glättung, an der Befehlspunktsequenz von der Befehlspunktsequenzberechnungseinheit 7 durch und gibt die so geglättete Befehlspunktsequenz aus. Die Vorwärtskopplungssteuereinheit 81 berechnet und gibt einen Vorwärtskopplungswert von dem Aktor 110 zugeführtem elektrischem Strom durch Anwenden einer modellierten inversen Übertragungsfunktion auf die Befehlspunktsequenz von der Befehlspunktsequenzberechnungseinheit 7 aus. Die inverse Übertragungsfunktion ist eine Umkehrfunktion einer Übertragungsfunktion für das Steuerziel, d. h. den Aktor 110. In Fällen, bei denen eine in dem Aktor 110 auftretende Störung mit einem Sensor erkennbar ist, kann die Vorwärtskopplungssteuereinheit 81 die modellierte inverse Übertragungsfunktion auf ein Störsignal anwenden. In diesem Fall gibt die Vorwärtskopplungssteuereinheit 81 den oben genannten Vorwärtskopplungswert von elektrischem Strom aus, der ein Ergebnis der Anwendung der inversen Übertragungsfunktion auf das Störsignal beinhaltet. Ein konkretes Beispiel für die Störung sind Vibrationen, die durch den Kontakt eines Arbeiters mit dem Manipulator 1 verursacht werden.The
Die Rückkopplungssteuereinheit 82 führt eine Rückkopplungssteuerung durch, um es dem Aktor 110 zu ermöglichen, der geglätteten Befehlspunktsequenz von der Vorwärtskopplungssteuereinheit 81 zu folgen, und berechnet und gibt einen Rückkopplungswert von dem Aktor 110 zugeführtem elektrischem Strom aus.The
Auf Grundlage des Vorwärtskopplungswerts von elektrischem Strom von der Vorwärtskopplungssteuereinheit 81 und dem Rückkopplungswert von elektrischem Strom von der Rückkopplungssteuereinheit 82 berechnet die Stromwertberechnungseinheit 83 den dem Aktor 110 zugeführten Stromwert.Based on the feedforward electric current value from the
Wie in
Die Gradientenberechnungseinheit 5 berechnet und gibt als die Gradienteninformationen den Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus (Schritt ST2).The
Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command
Die Befehlsbahnspeichereinheit 3 speichert die korrigierte Befehlsbahn (Schritt ST4).The command
Die Befehlspunktsequenzberechnungseinheit 7 berechnet die Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point
Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the
Ein nicht veranschaulichtes Mittel bestimmt, ob die Robotersteuerung fortzusetzen ist oder nicht (Schritt ST7) .An unillustrated means determines whether or not to continue the robot control (step ST7).
Wenn die Bestimmung bei Schritt ST7 „Ja“ lautet, kehrt der Prozess zu Schritt ST6 zurück und wird die Robotersteuerung fortgesetzt. Wenn die Bestimmung bei Schritt ST7 „Nein“ lautet, wird die Robotersteuerung beendet. Die Robotersteuerung wird beendet, wenn z. B. der Manipulator 1 einen Endpunkt der korrigierten Befehlsbahn erreicht hat. Alternativ dazu wird die Robotersteuerung beendet, wenn eine anormale Bewegung des Manipulators 1 bestimmt wurde, welche die Robotersteuerung beendet. Diese Bestimmung wird durch ein nicht veranschaulichtes Mittel vorgenommen.If the determination at step ST7 is “Yes,” the process returns to step ST6 and robot control continues. If the determination at step ST7 is “No”, the robot control is ended. The robot control is ended if, for example: B. the
Gemäß der oben beschriebenen ersten Ausführungsform wird das Geschwindigkeitsprofil auf Grundlage der Beschränkungsbedingung des Manipulators 1 und des Bewertungsindex auf Grundlage der Bewegungszeit des Manipulators 1 berechnet und wird die Befehlsbahn auf Grundlage des Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn korrigiert. Die korrigierte Befehlsbahn und das Geschwindigkeitsprofil, die zu einer kürzeren Bewegungszeit führen sowie die Beschränkungsbedingung erfüllen, können daher schneller für den Manipulator 1 bestimmt werden.According to the first embodiment described above, the speed profile is calculated based on the restriction condition of the
Zweite Ausführungsform.Second embodiment.
In einer zweiten Ausführungsform wird eine Befehlsbahn auf Grundlage von Peripherieinformationen um den Manipulator 1 herum erzeugt, wobei die Peripherieinformationen zuvor von der Peripherieumgebung 113 erlangt werden.In a second embodiment, a command trajectory is generated around the
Die Peripherieumgebungsinformationsspeichereinheit 9 speichert die Peripherieinformationen um den Manipulator 1 herum. Konkret speichert die Peripherieumgebungsinformationsspeichereinheit 9 Informationen über beispielsweise Positionen und Formen von Hindernissen um den Manipulator 1 herum, die von der Peripherieumgebung 113 als die Peripherieinformationen erlangt werden. Bei einer Datenstruktur für die zu speichernden Peripherieinformationen kann es sich beispielsweise um eine Punktwolke, Voxel, ein Polygonnetz, einen Rechteckquader oder eine andere Grundform oder eine Kombination aus mehreren Grundformen handeln. Alternativ dazu kann die Datenstruktur eine Begrenzungsvolumenhierarchie sein, die es beispielsweise einer später beschriebenen Abstandsfunktionsberechnungseinheit 61 ermöglicht, eine schnellere Abstandsberechnung durchzuführen.The peripheral environment
Die Befehlsbahnerzeugungseinheit 10 erzeugt die Befehlsbahn auf Grundlage der in der Peripherieumgebungsinformationsspeichereinheit 9 gespeicherten Peripherieinformationen. Konkret erzeugt die Befehlsbahnerzeugungseinheit 10 auf Grundlage der Peripherieinformationen die Befehlsbahn, die verhindert, dass der Manipulator 1 durch die peripheren Hindernissen beeinflusst wird, wodurch eine in der Befehlsbahnspeichereinheit 3 gespeicherte Befehlsbahn aktualisiert wird. Ein zum Erzeugen der Befehlsbahn zu verwendender Algorithmus kann beispielsweise ein schnell erforschender Zufallsbaum (Rapidly Exploring Random Tree - RRT), eine probabilistische Roadmap (PRM) oder dergleichen sein.The command
Die durch die Befehlsbahnerzeugungseinheit 10 erzeugte Befehlsbahn ist keine voreingestellte Ausgangsbahn, sondern eine autonom erzeugte Befehlsbahn, die eine Störung durch die Hindernisse um den Manipulator 1 herum vermeidet. Beispielsweise ermöglicht es ein einfaches Eingeben eines Startpunkts und eines Endpunkts der Befehlsbahn der Befehlsbahnerzeugungseinheit 10, die Befehlsbahn automatisch zu erzeugen.The command trajectory generated by the command
Auf Grundlage der in der Befehlsbahnspeichereinheit 3 gespeicherten Befehlsbahn, der in der Peripherieumgebungsinformationsspeichereinheit 9 gespeicherten Peripherieinformationen und der Gradienteninformationen von der Gradientenberechnungseinheit 5 korrigiert die Befehlsbahnkorrektureinheit 6a die Befehlsbahn und gibt die korrigierte Befehlsbahn aus. Die korrigierte Befehlsbahn wird in der Befehlsbahnspeichereinheit 3 gespeichert.Based on the command trajectory stored in the command
Die Abstandsfunktionsberechnungseinheit 61 berechnet einen Wert einer Abstandsfunktion zwischen der Befehlsbahn und den peripheren Hindernissen auf Grundlage der in der Befehlsbahnspeichereinheit 3 gespeicherten Befehlsbahn und der in der Peripherieumgebungsinformationsspeichereinheit 9 gespeicherten Peripherieinformationen.The distance
Die Barrierefunktionsberechnungseinheit 62 baut eine Barrierefunktion auf, deren Wert divergiert, wenn der Wert der Abstandsfunktion kleiner oder gleich einem Wert wird, und berechnet einen Wert der Barrierefunktion auf Grundlage des Abstandsfunktionswerts von der Abstandsfunktionsberechnungseinheit 61.The barrier
Die Barrierefunktionsgradientenberechnungseinheit 63 berechnet einen Gradienten des Barrierefunktionswerts von der Barrierefunktionsberechnungseinheit 62 in Bezug auf die Befehlsbahn. Die Barrierefunktionsgradientenberechnungseinheit 63 verwendet beispielsweise eine automatische Differenzierung zum Berechnen des Gradienten.The barrier function
In der Befehlsbahnkorrekturwertberechnungseinheit 64 werden ein Gradient einer Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn von der Gradientenberechnungseinheit 5 und der Gradient des Barrierefunktionswerts in Bezug auf die Befehlsbahn von der Barrierefunktionsgradientenberechnungseinheit 63 zusammen zu Gradienteninformationen kombiniert. Auf Grundlage dieser Gradienteninformationen berechnet die Befehlsbahnkorrekturwertberechnungseinheit 64 einen Korrekturwert für die Befehlsbahn derart, dass die Bewegungszeit zuzüglich des Barrierefunktionswerts kleiner wird.In the command trajectory correction
Es wird wieder auf
Auf Grundlage der in der Befehlsbahnspeichereinheit 3 gespeicherten korrigierten Befehlsbahn und des in der Geschwindigkeitsprofilspeichereinheit 11 gespeicherten Geschwindigkeitsprofils berechnet die Befehlspunktsequenzberechnungseinheit 7 für jede von vorgegebenen Abtastzeiträumen eine Befehlspunktfolgesequenz.Based on the corrected command trajectory stored in the command
Wie in
Die Geschwindigkeitsberechnungseinheit 4 berechnet das Geschwindigkeitsprofil für den Manipulator 1 auf Grundlage der Befehlsbahn für den Manipulator 1, einer Beschränkungsbedingung für den Manipulator 1 und eines Bewertungsindex auf Grundlage der Bewegungszeit des Manipulators 1 (Schritt ST1).The speed calculation unit 4 calculates the speed profile for the
Die Geschwindigkeitsprofilspeichereinheit 11 speichert das Geschwindigkeitsprofil (Schritt ST9).The speed profile storage unit 11 stores the speed profile (step ST9).
Die Gradientenberechnungseinheit 5 berechnet und gibt als die Gradienteninformationen den Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus (Schritt ST2).The
Die Befehlsbahnkorrektureinheit 6a berechnet den Gradienten des Barrierefunktionswerts in Bezug auf die Befehlsbahn und gibt die Gradienteninformationen aus, die eine Kombination aus diesem Gradienten und dem bei Schritt ST2 berechneten Gradienten sind (Schritt ST10).The command trajectory correction unit 6a calculates the gradient of the barrier function value with respect to the command trajectory and outputs the gradient information that is a combination of this gradient and the gradient calculated at step ST2 (step ST10).
Die Befehlsbahnkorrektureinheit 6a korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command trajectory correction unit 6a corrects the command trajectory based on the gradient information and outputs the corrected command trajectory (step ST3).
Die Befehlsbahnspeichereinheit 3 speichert die korrigierte Befehlsbahn (Schritt ST4).The command
Die Befehlspunktsequenzberechnungseinheit 7 berechnet die Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point
Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the
Ein nicht veranschaulichtes Mittel bestimmt, ob die Robotersteuerung fortzusetzen ist oder nicht (Schritt ST7) .An unillustrated means determines whether or not to continue the robot control (step ST7).
Wenn die Bestimmung bei Schritt ST7 „Ja“ lautet, erfolgt eine Rückkehr zu Schritt ST6 in dem Prozess und wird die Robotersteuerung fortgesetzt. Wenn die Bestimmung bei Schritt ST7 „Nein“ lautet, wird die Robotersteuerung beendet.If the determination at step ST7 is “Yes,” the process returns to step ST6 and robot control continues. If the determination at step ST7 is “No”, the robot control is ended.
Gemäß der oben beschriebenen zweiten Ausführungsform können, da die Befehlsbahnerzeugungseinheit 10 die Befehlsbahn auf Grundlage der Peripherieinformationen von der Peripherieumgebung 113 erzeugt, die korrigierte Befehlsbahn und das Geschwindigkeitsprofil, die zu einer kürzeren Bewegungszeit führen sowie eine Störung durch die Hindernisse vermeiden, schneller für den Manipulator 1 bestimmt werden.According to the second embodiment described above, since the command
Dritte Ausführungsform.Third embodiment.
In einer dritten Ausführungsform wird der Manipulator 1 unter Verwendung einer Eingabe/Ausgabe-Einrichtung 12, wie etwa eines Tablet-Computers, gesteuert.In a third embodiment, the
Die Eingabe/Ausgabe-Einrichtung 12 zeigt auf einem Bildschirm Bewegungsinformationen zu dem Manipulator 1 und von der Peripherieumgebung 113 erlangte Peripherieinformationen an. Die Bewegungsinformationen beziehen sich beispielsweise auf ein Video des Manipulators 1 in Bewegung. Die Eingabe/Ausgabe-Einrichtung 12 gibt an die Robotersteuervorrichtung 100b Bewegungsinformationen aus, die von einem Arbeiter eingegeben werden. Beispielsweise kann die Eingabe/Ausgabe-Einrichtung 12 es dem Arbeiter ermöglichen, Start- und Endpunkte einer Bewegung des Manipulators 1 über ein Touchscreen-Feld oder eine Sprachschnittstelle einzugeben oder eine grobe Befehlsbahn für das Halteteil 111 des Manipulators 1 durch Skizzieren mit einem Finger auf dem Bildschirm des Tablet-Computers einzugeben. Diese Befehlsbahn wird in der Befehlsbahnspeichereinheit 3 gespeichert. Der Arbeiter kann zudem den Manipulator 1 unter Verwendung der Eingabe/Ausgabe-Einrichtung 12 während der Bewegung stoppen. In diesem Fall zeigt die Eingabe/AusgabeEinrichtung 12 „Vorgang stoppen“ auf dem Bildschirm an und berührt der Arbeiter diese Anzeige, sodass die Eingabe/Ausgabe-Einrichtung 12 eine Arbeitsstoppanweisung an die Robotersteuervorrichtung 100b überträgt. Entsprechend stoppt die Robotersteuervorrichtung 100b den Manipulator 1 in der Bewegung.The input/
Wie in
Die Gradientenberechnungseinheit 5 berechnet und gibt als Gradienteninformationen einen Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus (Schritt ST2).The
Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command
Die Befehlsbahnspeichereinheit 3 speichert die korrigierte Befehlsbahn (Schritt ST4).The command
Die Befehlspunktsequenzberechnungseinheit 7 berechnet eine Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point
Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the
Ein nicht veranschaulichtes Mittel bestimmt, ob die Robotersteuerung fortzusetzen ist oder nicht (Schritt ST11) .Means not shown determines whether or not to continue robot control (step ST11).
Wenn die Bestimmung bei Schritt ST11 „Ja“ lautet, erfolgt eine Rückkehr zu Schritt ST6 in dem Prozess und wird die Steuerung des Manipulators 1 fortgesetzt. Wenn die Bestimmung bei Schritt ST11 „Nein“ lautet, wird die Robotersteuerung beendet. Die Robotersteuerung wird beendet, wenn z. B. der Manipulator 1 einen Endpunkt der korrigierten Befehlsbahn erreicht hat. Alternativ dazu wird die Robotersteuerung beendet, wenn eine anormale Bewegung des Manipulators 1 bestimmt wurde. Alternativ dazu wird die Robotersteuerung beendet, wenn die Anweisung „Vorgang stoppen“ von der Eingabe/Ausgabe-Einrichtung 12 an die Robotersteuereinrichtung 100b übertragen wurde. Diese Bestimmung wird durch ein nicht veranschaulichtes Mittel vorgenommen.If the determination at step ST11 is “Yes,” the process returns to step ST6 and control of the
Gemäß der oben beschriebenen dritten Ausführungsform ermöglicht die Verwendung der Eingabe/Ausgabe-Einrichtung 12 bei der Steuerung des Manipulators 1 eine Visualisierung der Bewegung des Manipulators 1.According to the third embodiment described above, the use of the input/
Vierte Ausführungsform.Fourth embodiment.
In einer vierten Ausführungsform wird der Manipulator 1 gesteuert und ist an einem beweglichen Rahmen 13 angebracht.In a fourth embodiment, the
Die Beschränkungsbedingungsspeichereinheit 2c speichert einen Parameter oder mehrere Parameter einer Beschränkungsbedingung, die in Bezug auf den Manipulator 1 voreingestellt sind. Die Beschränkungsbedingung beinhaltet eine Bedingung, die sich auf mindestens eines von einer Gelenkwinkelgeschwindigkeit, einer Gelenkwinkelbeschleunigung, einem Gelenkdrehmoment, einer Handspitzengeschwindigkeit, einer Handspitzenbeschleunigung des Manipulators 1, einer Kraft, die an einem durch den Manipulator 1 gegriffenen Objekt erzeugt wird, einer auf einen beweglichen Rahmen 13 mit dem daran angebrachten Manipulator 1 ausgeübten Reaktionskraft und einer Drehmomentkomponente der Reaktionskraft bezieht.The restriction
Der Parameter oder die Parameter der Beschränkungsbedingung wurden als voreingestellt beschrieben; die Robotersteuervorrichtung 100c kann jedoch eine nicht veranschaulichte Reaktionskraftbeschränkungslerneinheit beinhalten. Unter Verwendung von maschinellem Lernen kann die Reaktionskraftbeschränkungslerneinheit den/die Parameter der Beschränkungsbedingung erlernen, die sich auf mindestens eines von der Reaktionskraft, die auf den beweglichen Rahmen 13 mit dem daran angebrachten Manipulator 1 ausgeübt wird, und die Drehmomentkomponente der Reaktionskraft bezieht. In diesem Fall kann die Reaktionskraftbeschränkungslerneinheit den/die so erlangten Parameter der Beschränkungsbedingung in der Beschränkungsbedingungsspeichereinheit 2c speichern. Konkret erlangt die Reaktionskraftbeschränkungslerneinheit mit einem nicht veranschaulichten Sensor die auf den beweglichen Rahmen 13 ausgeübte Reaktionskraft und die Drehmomentkomponente der Reaktionskraft, wenn sich der Manipulator 1 in Bewegung befindet, und erlernt den/die Parameter der Beschränkungsbedingung auf Grundlage erlangter Werte.The parameter or parameters of the constraint condition were described as preset; however, the
Auf Grundlage einer Befehlsbahn von der Befehlsbahnspeichereinheit 3 und des/der Parameter der Beschränkungsbedingung von der Beschränkungsbedingungsspeichereinheit 2c berechnet die Geschwindigkeitsberechnungseinheit 4c ein Geschwindigkeitsprofil entlang der Befehlsbahn, wobei das Geschwindigkeitsprofil die Bewegungszeit für den Manipulator 1 innerhalb eines Bereichs der Beschränkungsbedingung verkürzt.Based on a command trajectory from the command
Die Geschwindigkeitsberechnungseinheit 4c weist die gleiche Konfiguration wie die in
Die Gradientenberechnungseinheit 5c berechnet und gibt als Gradienteninformationen einen Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus.The
Die Gradientenberechnungseinheit 5c weist die gleiche Konfiguration wie die in
Wie oben beschrieben, kann die Robotersteuervorrichtung 100c, welche die Beschränkungsbedingungsspeichereinheit 2c, die Geschwindigkeitsberechnungseinheit 4c und die Gradientenberechnungseinheit 5c beinhaltet, Vibrationen aufgrund der Reaktionskraft an dem beweglichen Rahmen 13 verhindern sowie die Bewegungszeit des Manipulators 1 verkürzen.As described above, the
Wie in
Die Gradientenberechnungseinheit 5c berechnet und gibt als die Gradienteninformationen den Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus (Schritt ST2). Die Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit 53 in der Gradientenberechnungseinheit 5c berücksichtigt zudem die Reaktionskraft, die auf den beweglichen Rahmen 13 ausgeübt wird, wenn sich der Manipulator 1 in Bewegung befindet, und die Drehmomentkomponente der Reaktionskraft beim Berechnen des Gradienten der Bewegungszeit in Bezug auf das Kinematikberechnungsergebnis und des Gradienten der Bewegungszeit in Bezug auf das Dynamikberechnungsergebnis. Die Profilgradientenberechnungseinheit 54 in der Gradientenberechnungseinheit 5c berücksichtigt zudem die auf den beweglichen Rahmen 13 ausgeübte Reaktionskraft und die Drehmomentkomponente der Reaktionskraft beim Berechnen des Gradienten der Bewegungszeit in Bezug auf die Koeffizienten der Beschränkungsbedingung.The
Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command
Die Befehlsbahnspeichereinheit 3 speichert die korrigierte Befehlsbahn (Schritt ST4).The command
Die Befehlspunktsequenzberechnungseinheit 7 berechnet eine Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point
Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 dazu veranlasst wird, der korrigierten Befehlsbahn zu folgen (Schritt ST6).The control unit 8 controls the
Ein nicht veranschaulichtes Mittel bestimmt, ob die Robotersteuerung fortzusetzen ist oder nicht (Schritt ST11) .Means not shown determines whether or not to continue robot control (step ST11).
Wenn die Bestimmung bei Schritt ST11 „Ja“ lautet, erfolgt eine Rückkehr zu Schritt ST6 in dem Prozess und wird die Steuerung des Manipulators 1 fortgesetzt. Wenn die Bestimmung bei Schritt ST11 „Nein“ lautet, wird die Robotersteuerung beendet.If the determination at step ST11 is “Yes,” the process returns to step ST6 and control of the
Gemäß der oben beschriebenen vierten Ausführungsform werden die Reaktionskraft, die auf den beweglichen Rahmen 13 ausgeübt wird, wen sich der Manipulator 1 in Bewegung befindet, und die Drehmomentkomponente der Reaktionskraft berücksichtigt, wodurch es möglich wird, die Vibration des beweglichen Rahmens 13 zu verhindern sowie die Bewegungszeit des Manipulators 1 zu verkürzen.According to the fourth embodiment described above, the reaction force exerted on the
Die Steuerung, welche die Robotersteuervorrichtung 100c gemäß der vierten Ausführungsform an dem Manipulator 1 durchführt, ist auch auf den beweglichen Rahmen 13 anwendbar. Die Steuerung, welche die Robotersteuervorrichtung 100c an dem Manipulator 1 durchführt, ist nicht auf Fälle beschränkt, bei denen der Manipulator 1 an dem beweglichen Rahmen 13 angebracht ist, und ist auch auf Fälle anwendbar, bei denen der Manipulator 1 an einem nicht veranschaulichten ortsfesten Rahmen angebracht ist.The control that the
Die Robotersteuervorrichtungen 100, 100a, 100b und 100c und die Robotersteuerverfahren gemäß der ersten bis vierten Ausführungsform sind auf andere als den Manipulator 1, welcher der vertikal angelenkte Roboter ist, anwendbar. Beispielsweise sind die Robotersteuervorrichtungen 100, 100a, 100b und 100c und die Robotersteuerverfahren auf einen Manipulator 1 mit beliebiger Achsenkonfiguration, wie etwa einen horizontal angelenkten Roboter, anwendbar. Die Robotersteuervorrichtungen 100, 100a, 100b und 100c und die Robotersteuerverfahren sind zudem auf andere industrielle Vorrichtungen als die Manipulatoren 1 anwendbar.The
Hier wird eine Beschreibung von Hardwarekonfigurationen für jede der Robotersteuervorrichtungen 100, 100a, 100b und 100c gemäß der ersten bis vierten Ausführungsform bereitgestellt. Die Funktionen der Robotersteuervorrichtungen 100, 100a, 100b und 100c sind jeweils mit einer Verarbeitungsschaltung umsetzbar. Die Verarbeitungsschaltung beinhaltet mindestens einen Prozessor und mindestens einen Speicher.Here, a description of hardware configurations for each of the
Der Speicher 201 ist beispielsweise ein nichtflüchtiger oder flüchtiger Halbleiterspeicher, wie etwa ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein Flash-Speicher, ein löschbarer programmierbarer Festwertspeicher (EPROM) oder ein elektrisch löschbarer programmierbarer Festwertspeicher (EEPROM) (eingetragenes Warenzeichen), ein Festplattenlaufwerk (HDD), eine Magnetplatte, eine flexible Platte, eine optische Platte, eine Compact Disk, eine Mini Disk, eine Digital Versatile Disk (DVD) oder dergleichen.The
Die Funktionen der Einheiten der Robotersteuervorrichtungen 100, 100a, 100b und 100c sind jeweils mit Software oder dergleichen (d. h. der Software, Firmware oder Software in Kombination mit Firmware) umgesetzt. Die Software oder dergleichen ist als Programme beschrieben und ist in dem Speicher 201 gespeichert. Der Prozessor 200 setzt die Funktionen der Einheiten durch Auslesen und Ausführen der in dem Speicher 201 gespeicherten Programme um. Mit anderen Worten kann gesagt werden, dass die Programme einen Computer dazu veranlassen, die Prozedur oder das Verfahren jeder der Robotersteuervorrichtungen 100, 100a, 100b und 100c auszuführen.The functions of the units of the
Die durch den Prozessor 200 auszuführenden Programme können als ein Computerprogrammprodukt bereitgestellt werden, das als eine installierbare oder ausführbare Datei in einem computerlesbaren Speichermedium gespeichert ist. Die durch den Prozessor 200 auszuführenden Programme können für jede der Robotersteuereinrichtungen 100, 100a, 100b und 100c über ein Netz wie etwa das Internet bereitgestellt werden.The programs to be executed by the
Die Robotersteuervorrichtungen 100, 100a, 100b und 100c können jeweils mit einer in
Die Funktionen der Bestandteile der Robotersteuervorrichtungen 100, 100a, 100b und 100c wurden vorstehend jeweils als mit einer von der Software (oder dergleichen) und der Hardware umgesetzt beschrieben. Dies ist jedoch nicht einschränkend. Ein Teil der Bestandteile jeder der Robotersteuervorrichtungen 100, 100a, 100b und 100c kann mit Software oder dergleichen umgesetzt sein, während ein anderer Teil der Bestandteile mit dedizierter Hardware umgesetzt ist.The functions of the components of the
BezugszeichenlisteReference symbol list
- 11
- Manipulator;Manipulator;
- 2, 2c2, 2c
- Beschränkungsbedingungsspeichereinheit;constraint condition storage unit;
- 33
- Befehlsbahnspeichereinheit;command path storage unit;
- 4, 4c4, 4c
- Geschwindigkeitsberechnungseinheit;speed calculation unit;
- 4141
- Befehlsinterpolationsberechnungseinheit;command interpolation calculation unit;
- 4242
- Dynamikberechnungseinheit;dynamics calculation unit;
- 4343
- Beschränkungsbedingungskoeffizientenberechnungseinheit;restriction condition coefficient calculation unit;
- 4444
- Profilberechnungseinheit;profile calculation unit;
- 5, 5c5, 5c
- Gradientenberechnungseinheit;gradient calculation unit;
- 5151
- Befehlsinterpolationsgradientenberechnungseinheit;command interpolation gradient calculation unit;
- 5252
- Dynamikgradientenberechnungseinheit;Dynamic gradient calculation unit;
- 5353
- Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit;constraint condition coefficient gradient calculation unit;
- 5454
- Profilgradientenberechnungseinheit;profile gradient calculation unit;
- 6, 6a6, 6a
- Befehlsbahnkorrektureinheit;command trajectory correction unit;
- 6161
- Abstandsfunktionsberechnungseinheit;distance function calculation unit;
- 6262
- Barrierefunktionsberechnungseinheit;barrier function calculation unit;
- 6363
- Barrierefunktionsgradientenberechnungseinheit;Barrier function gradient calculation unit;
- 6464
- Befehlsbahnkorrekturwertberechnungseinheit;Command trajectory correction value calculation unit;
- 77
- Befehlspunktsequenzberechnungseinheit;command point sequence calculation unit;
- 88th
- Steuereinheit;control unit;
- 8181
- Vorwärtskopplungssteuereinheit;feedforward control unit;
- 8282
- Rückkopplungssteuereinheit;feedback control unit;
- 8383
- Stromwertberechnungseinheit;current value calculation unit;
- 99
- Peripherieumgebungsinformationsspeichereinheit;peripheral environment information storage unit;
- 1010
- Befehlsbahnerzeugungseinheit;command trajectory generation unit;
- 110110
- Aktor;actor;
- 111111
- Halteteil;holding part;
- 112112
- Werkstück;Workpiece;
- 113113
- Peripherieumgebung;peripheral environment;
- 1313
- beweglicherRahmen;movable frame;
- 200200
- Prozessor;Processor;
- 201201
- Speicher;Storage;
- 202202
- Verarbeitungsschaltung.Processing circuit.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- JP 2019141939 [0004]JP 2019141939 [0004]
Claims (10)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/012339 WO2022201377A1 (en) | 2021-03-24 | 2021-03-24 | Robot control device and robot control method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112021007371T5 true DE112021007371T5 (en) | 2024-02-15 |
Family
ID=83396633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112021007371.0T Pending DE112021007371T5 (en) | 2021-03-24 | 2021-03-24 | ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7378640B2 (en) |
CN (1) | CN116940906A (en) |
DE (1) | DE112021007371T5 (en) |
WO (1) | WO2022201377A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019141939A (en) | 2018-02-19 | 2019-08-29 | オムロン株式会社 | Simulation device, simulation method and simulation program |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05297916A (en) * | 1992-04-16 | 1993-11-12 | Nachi Fujikoshi Corp | Track control method for robot |
DE19837595B4 (en) | 1998-08-19 | 2004-06-03 | Kuka Roboter Gmbh | Method and device for balancing the weight of a robot arm |
JP2005044230A (en) * | 2003-07-24 | 2005-02-17 | Mitsubishi Electric Corp | Robot control device |
DE102009049172B4 (en) * | 2009-10-13 | 2019-07-25 | Kuka Roboter Gmbh | Method and device for controlling a manipulator |
JP5383756B2 (en) | 2011-08-17 | 2014-01-08 | ファナック株式会社 | Robot with learning control function |
WO2017129200A1 (en) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | A system for real-world continuous motion optimization and control |
WO2018146596A1 (en) | 2017-02-08 | 2018-08-16 | University Of Pretoria | A robot |
JP7080649B2 (en) | 2018-01-17 | 2022-06-06 | キヤノン株式会社 | Control method, manufacturing method of goods, control program, recording medium, robot system, control device |
-
2021
- 2021-03-24 DE DE112021007371.0T patent/DE112021007371T5/en active Pending
- 2021-03-24 CN CN202180028676.XA patent/CN116940906A/en active Pending
- 2021-03-24 JP JP2022563069A patent/JP7378640B2/en active Active
- 2021-03-24 WO PCT/JP2021/012339 patent/WO2022201377A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019141939A (en) | 2018-02-19 | 2019-08-29 | オムロン株式会社 | Simulation device, simulation method and simulation program |
Also Published As
Publication number | Publication date |
---|---|
WO2022201377A1 (en) | 2022-09-29 |
JP7378640B2 (en) | 2023-11-13 |
JPWO2022201377A1 (en) | 2022-09-29 |
CN116940906A (en) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102015010124B4 (en) | A robot program generating device that generates a robot program for reducing bumps of the joints of the robot | |
DE102014115774B3 (en) | A robotic system and method for avoiding contact between a robotic system gripping member and a dynamic environmental obstacle | |
EP2905111B1 (en) | Method for programming an industrial robot and associated industrial robot | |
DE102017128652B4 (en) | ROBOT SYSTEM WITH MULTIPLE ROBOTS, ROBOT CONTROL AND ROBOT CONTROL METHOD | |
DE102014110355B3 (en) | Robot system and method for robot speed control | |
DE102013202378B4 (en) | Procedural memory learning and robot control | |
DE102015106227B3 (en) | Controlling and / or regulating motors of a robot | |
DE102006055917B4 (en) | Industrial robot and method for detecting an inaccurately parameterized robot model | |
DE102017127995B4 (en) | A robot control apparatus for controlling a robot and a method for estimating a disturbance value applied to the robot | |
DE102014103370B4 (en) | Method and device for discrete-time control of a manipulator | |
DE102019118637B4 (en) | AUTOMATIC PATH GENERATION DEVICE | |
DE102011110902A1 (en) | Safe operation of a force or impedance controlled robot in the workspace | |
DE102018133349A1 (en) | Method and device for moment estimation | |
DE102011014299A1 (en) | Method and means for controlling an automation device, in particular a robot | |
DE102019205651B3 (en) | Method and system for carrying out robot applications | |
WO2017016641A2 (en) | Method and system for controlling a robot | |
DE102018004673A1 (en) | Robot system displaying a speed | |
DE102018209044B3 (en) | Force control of a robot | |
DE102016009436B4 (en) | Robot control that prevents shaking of a tool tip in a robot equipped with a travel axis | |
DE112014006610B4 (en) | Robot control device and robot control method | |
DE102016013083B4 (en) | Calibrate a model of a process robot and operate a process robot | |
DE112021007371T5 (en) | ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD | |
DE102018207919B3 (en) | robot control | |
WO2019086339A1 (en) | Method and control means for controlling a robot assembly | |
DE102020209866B3 (en) | Method and system for operating a robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |