DE112021007371T5 - ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD - Google Patents

ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD Download PDF

Info

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
Application number
DE112021007371.0T
Other languages
German (de)
Inventor
Akio Saito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112021007371T5 publication Critical patent/DE112021007371T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40517Constraint motion planning, variational dynamic programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, 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 Patent Literature 1 performs simulation using a simulation model of a robot including an elastic holder, and, when a load torque generated on the holder is larger than a threshold value, changes an execution condition of the simulation so that the load torque is less than or equal to the threshold value.

Liste der AnführungenList of citations

PatentliteraturPatent literature

Patentliteratur 1: Japanische Offenlegungsschrift Nr. 2019-141939 Patent literature 1: Japanese Laid-Open Publication No. 2019-141939

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 Patent Literature 1 is that determining an appropriate execution condition considering the force and moment caused to the workpiece is time-consuming because the execution condition of the simulation must undergo repeated changes until the load torque becomes less than or equal to the threshold value . The automatically adjustable execution condition of the simulation is maximum acceleration alone, and it is difficult to adjust motion conditions with higher degrees of freedom, such as a trajectory and a velocity profile of the robot. This results in a problem that a movement time from the start of movement of the manipulator until the workpiece is gripped by the manipulator is not shortened.

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.

1 ist ein Blockdiagramm, das ein Beispiel einer Robotersteuervorrichtung 100 gemäß einer ersten Ausführungsform veranschaulicht. 1 ist das Blockdiagramm, das die Robotersteuervorrichtung 100, Aktoren 110, einen Manipulator 1 und ein Werkstück 112 beinhaltet. 2 ist eine Darstellung, die ein Konfigurationsbeispiel veranschaulicht, das die Robotersteuervorrichtung 100 gemäß der ersten Ausführungsform beinhaltet. Die Robotersteuervorrichtung 100 steuert die Aktoren 110, die an Gelenken des Manipulators 1, nämlich eines vertikal angelenkten Roboters, angebracht sind, sodass ein Betrieb umgesetzt wird, der es einem an einem vorderen Ende des Manipulators 1 angebrachten Halteteil 111 ermöglicht, das Werkstück 112 zu greifen, aufzunehmen und zu platzieren. Eine Peripherieumgebung 113 ist beispielsweise eine Kamera oder eine dergleichen und gibt beispielsweise ein Video des den Bestückungsvorgang durchführenden Manipulators 1 an eine nicht veranschaulichte Anzeigeeinrichtung aus. 1 is a block diagram illustrating an example of a robot control device 100 according to a first embodiment. 1 is the block diagram that includes the robot control device 100, actuators 110, a manipulator 1 and a workpiece 112. 2 is a diagram illustrating a configuration example including the robot control device 100 according to the first embodiment. The robot control device 100 controls the actuators 110 attached to joints of the manipulator 1, namely a vertically articulated robot, so that an operation is implemented that allows a holding part 111 attached to a front end of the manipulator 1 to grip the workpiece 112 , pick up and place. A peripheral environment 113 is, for example, a camera or the like and, for example, outputs a video of the manipulator 1 carrying out the assembly process to a display device, not shown.

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 robot control device 100 includes a constraint condition storage unit 2, a command trajectory storage unit 3, a speed calculation unit 4, a gradient calculation unit 5, a command trajectory correction unit 6, a command point sequence calculation unit 7, and a control unit 8.

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 condition storage unit 2 stores one or more parameters of a restriction condition that are preset with respect to the manipulator 1. The restriction condition is a condition relating to at least one of a joint angular velocity, a joint angular acceleration, a joint torque, a hand tip speed, a hand tip acceleration of the manipulator 1, a force generated on an object (workpiece 112) gripped by the manipulator 1, and a moment that is generated on the grasped object. For example, if the constraint condition is a condition related to the tip hand speed v h , the constraint condition is “v min ≤ v h ≤ v max ”, where v min is a lower limit for the tip hand speed v h and v max is an upper limit for the tip hand speed v h . The parameters of the constraint condition in this case are v min and v max . The restriction condition and the parameter(s) of the restriction condition are not limited to this. For example, the constraint condition can be “|v h | ≤v th “, where if the parameter of the constraint condition is v th , |v h | is an absolute value of the top hand speed v h and v th is a threshold value of the top hand speed v h .

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 robot control device 100 may include an unillustrated grasping restriction learning unit. Using machine learning, the grip constraint learning unit may learn the parameter(s) of the constraint condition related to at least one of the force and moment generated on the workpiece 112. In this case, the grip restriction learning unit may store the thus obtained restriction condition parameter(s) in the restriction condition storage unit 2. Specifically, the grip restriction learning unit with a sensor not shown acquires the force and torque generated on the workpiece 112 while the manipulator 1 grips the workpiece 112, and learns the parameter(s) of the restriction condition based on acquired values.

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 path storage unit 3 stores a command path preset for the manipulator 1. For example, when the command trajectory is specified as a spline curve, the command trajectory storage unit 3 stores a pair of a position of each point on the spline curve and a value (in the range of 0 to 1) of a parameter of the curve at that position. Alternatively, the command trajectory storage unit 3 may only store the position of each point on the spline curve. In this case, the value of the parameter is calculated, for example, based on a distance between the points on the spline curve. In addition to the spline curve, an example of the command trajectory that can be specified is a B-spline curve or a Bezier curve. The command trajectory storage unit 3 stores a corrected command trajectory from the later-described command trajectory correction unit 6, in which case the preset command trajectory is discarded when the corrected command trajectory is stored again.

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 manipulator 1 based on the preset command trajectory for the manipulator 1, the restriction condition for the manipulator 1, and an evaluation index based on a moving time of the manipulator 1. In other words, the speed calculation unit 4 calculates based on the command trajectory of the manipulator 1 Command path storage unit 3 and the parameter(s) of the restriction condition from the restriction condition storage unit 2 the speed profile along the command path, the speed profile shortening the movement time of the manipulator 1 within a range of the restriction condition. Alternatively, in cases where the robot control device 100 includes the grip restriction learning unit, the speed calculation unit 4 calculates the speed profile based on the command trajectory and the parameter(s) of the restriction condition that the grip restriction learning unit has learned. Here, the evaluation index based on the movement time of the manipulator 1 refers to an evaluation function to be used by a profile calculation unit 44 described later. This evaluation function is a function in which the acceleration and speed of the manipulator 1 are formulated as variables via parameters. The velocity profile represents a change in velocity over time of each of the joints as the manipulator 1 moves along the command path. The speed calculation unit 4 calculates the speed profile with an optimization problem that minimizes the movement time, which is expressed in the form of the evaluation function.

3 ist ein Blockdiagramm, das ein Beispiel der Geschwindigkeitsberechnungseinheit 4 gemäß der ersten Ausführungsform veranschaulicht. Die Geschwindigkeitsberechnungseinheit 4 beinhaltet eine Befehlsinterpolationsberechnungseinheit 41, eine Dynamikberechnungseinheit 42, eine Beschränkungsbedingungskoeffizientenberechnungseinheit 43 und die Profilberechnungseinheit 44. 3 is a block diagram illustrating an example of the speed calculation unit 4 according to the first embodiment. The speed calculation unit 4 includes a command interpolation calculation unit 41, a dynamics calculation unit 42, a restriction condition coefficient calculation unit 43 and the profile calculation unit 44.

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 interpolation calculation unit 41 uses a preset natural number N to interpolate a curve of the command trajectory from the command trajectory storage unit 3 with N points, and calculates a position of each of the interpolation points on the command trajectory and a first and a second derivative with respect to the parameter of the command trajectory. For example, when the command trajectory is specified as the spline curve, a joint position (or a joint angle) of each axis of the manipulator 1 is expressed as a cubic piecewise polynomial with respect to the parameter. Thus, using a derivative of the polynomial allows the calculation of not only the position (or an angle) of each interpolation point, but also the first and second derivatives with respect to the parameter.

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 dynamics calculation unit 42 performs a kinematics calculation and a dynamics calculation for the manipulator 1 using the position of each interpolation point and the first and second derivatives from the command interpolation calculation unit 41, and outputs a kinematics calculation result and a dynamics calculation result. The kinematics calculation refers to calculating velocities, accelerations, angular velocities and angular accelerations of those to which the joints, the links and the holding part 111 of the manipulator 1 belong based on the speed, acceleration, angular velocity and angular acceleration of each joint of the manipulator 1 The dynamics calculation refers to calculating the torque generated at each joint of the manipulator 1 and the force and moment generated at the holding part 111 from the velocities, accelerations, angular velocities and angular accelerations of those to which the joints , the links and the holding part 111 of the manipulator 1 belong.

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] a u + b x + c 0

Figure DE112021007371T5_0001
The restriction condition coefficient calculation unit 43 calculates restriction condition coefficients based on the kinematics calculation result and the dynamics calculation result from the dynamics calculation unit 42 and the restriction condition parameter(s) from the restriction condition memory 2. When the restriction condition regarding the force generated on the holding part 111 is exemplified by the following formula (1). the coefficients of the constraint condition refer to a, b and c. In other words, each of the coefficients of the constraint condition is a coefficient included in the corresponding one of terms of a relational expression including a plurality of variables. For example, the variables in formula (1) here are the acceleration u and the velocity x at the interpolation point.

[Formula 1] a u + b x + c 0
Figure DE112021007371T5_0001

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 profile calculation unit 44 calculates the speed profile based on the coefficients of the restriction condition from the restriction condition coefficient calculation unit 43. In other words, the profile calculation unit 44 calculates the speed profile along the command path for the manipulator 1 and the movement time of the manipulator 1 by an optimization calculation based on the coefficients of the restriction condition and the Evaluation function based on the movement time of the manipulator 1.

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 coefficient calculation unit 43 for calculating the coefficients of the restriction condition and a method for the profile calculation unit 44 for calculating the acceleration profile are shown in Non-Patent Literature 1.

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 condition storage unit 2. Moreover, absorbing the force and moment generated on the workpiece 112 under the constraint condition enables a problem in picking up and placing the workpiece 112, such as falling out of the workpiece 112 or excessive force generated on the workpiece 112, to be prevented . In addition, since an approach described in Non-Patent Literature 1 is referred to as a convex optimization approach that easily yields a global optimal solution, it becomes possible to calculate the velocity profile more quickly.

Es wird wieder auf 1 Bezug genommen. Auf Grundlage des Geschwindigkeitsprofils von der Geschwindigkeitsberechnungseinheit 4 berechnet und gibt die Gradientenberechnungseinheit 5 als Gradienteninformationen einen Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus. Konkret berechnet die Gradientenberechnungseinheit 5 den Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn durch Differenzieren der Bewegungszeit des Manipulators 1 von der Profilberechnungseinheit 44 in Bezug auf die Befehlsbahn unter Verwendung einer automatischen Differenzierung und gibt den berechneten Gradienten als die Gradienteninformationen aus.It will open again 1 Referenced. Based on the speed profile from the speed calculation unit 4, the gradient calculation unit 5 calculates and outputs a gradient of the movement time of the manipulator 1 with respect to the command path as gradient information. Specifically, the gradient calculation unit 5 calculates the gradient of the movement time with respect to the command trajectory by differentiating the movement time of the manipulator 1 from the profile calculation unit 44 with respect to the command trajectory using automatic differentiation, and outputs the calculated gradient as the gradient information.

4 ist ein Blockdiagramm, das ein Beispiel der Gradientenberechnungseinheit 5 gemäß der ersten Ausführungsform veranschaulicht. Die Gradientenberechnungseinheit 5 beinhaltet eine Befehlsinterpolationsgradientenberechnungseinheit 51, eine Dynamikgradientenberechnungseinheit 52, eine Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit 53 und eine Profilgradientenberechnungseinheit 54. Die Befehlsinterpolationsgradientenberechnungseinheit 51, die Dynamikgradientenberechnungseinheit 52, die Beschränkungsbedingungskoeffizienten-Gradientenberechnungseinheit 53 und die Profilgradientenberechnungseinheit 54 berechnen jeweils einen Gradienten eines Berechnungsergebnisses der entsprechenden der Befehlsinterpolationsberechnungseinheit 41, der Dynamikberechnungseinheit 42, der Beschränkungsbedingungskoeffizientenberechnungseinheit 43 und der Profilberechnungseinheit 44. 4 is a block diagram illustrating an example of the gradient calculation unit 5 according to the first embodiment. The gradient calculation unit 5 includes a command interpolation gradient calculation unit 51, a dynamic gradient calculation unit 52, a restriction condition coefficient gradient calculation unit 53 and a profile gradient calculation unit 54. The command interpolation gradient calculation unit 51, the dynamic gradient calculation unit 52, the restriction condition coefficient gradient calculation unit 5 3 and the profile gradient calculation unit 54 each calculate a gradient of a calculation result of the corresponding command interpolation calculation unit 41 , the dynamics calculation unit 42, the restriction condition coefficient calculation unit 43 and the profile calculation unit 44.

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 gradient calculation unit 54 calculates the gradient of the movement time with respect to the coefficients of the constraint condition by calculating a gradient with respect to coefficients of the optimization problem based on, for example, a method similar to a method shown in Non-Patent Literature 2.

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 gradient calculation unit 53 takes an input from the profile gradient calculation unit 54, the input being defined by the gradient with respect to the coefficients of the restriction condition, and calculates the gradient of the movement time with respect to the kinematics calculation result and the gradient of the movement time with respect to the dynamics calculation result by calculating a derivative of a calculation procedure of the constraint condition coefficient calculation unit 43 based on a chain rule.

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 gradient calculation unit 52 takes an input from the constraint condition coefficient gradient calculation unit 53, the input being defined by the gradient of the movement time with respect to the kinematics calculation result and the gradient of the movement time with respect to the dynamics calculation result, and calculates the gradient of the movement time with respect to the position of each interpolation point on the command trajectory, the gradient of the movement time with respect to the first derivative with respect to the parameter of the command trajectory and the gradient of the movement time with respect to the second derivative with respect to the parameter of the command trajectory by calculating a derivative of a calculation procedure of the dynamics calculation unit 42 based on the chain rule.

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 gradient calculation unit 51 takes an input from the dynamic gradient calculation unit 52, the input being the gradient with respect to the position of each interpolation point on the command trajectory, the gradient with respect to the first derivative with respect to the parameter of the command trajectory, and the gradient with respect to the second derivative is defined with respect to the parameter of the command trajectory, and calculates the gradient of the movement time with respect to the command trajectory by calculating a derivative of a calculation procedure of the command interpolation calculation unit 41 based on the chain rule. The gradient of the movement time with respect to the command trajectory is output as the gradient information from the command interpolation gradient calculation unit 51.

Es wird wieder auf 1 Bezug genommen. Auf Grundlage der Gradienteninformationen von der Gradientenberechnungseinheit 5 korrigiert die Befehlsbahnkorrektureinheit 6 die Befehlsbahn derart, dass die Bewegungszeit des Manipulators 1 verringert wird, und gibt die korrigierte Befehlsbahn aus. Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn durch Verwenden eines beliebigen von einem Gradientenabstiegsverfahren, einem Verfahren der konjugierten Gradienten und einem Quasi-Newton-Verfahren auf Grundlage der Gradienteninformationen. Zu Beispielen für das Gradientenabstiegsverfahren gehören u. a. ein Verfahren des steilsten Abstiegs, ein Momentenverfahren und ein beschleunigtes Gradientenverfahren. Die korrigierte Befehlsbahn wird in der Befehlsbahnspeichereinheit 3 gespeichert.It will open again 1 Referenced. Based on the gradient information from the gradient calculation unit 5, the command trajectory correction unit 6 corrects the command trajectory so that the movement time of the manipulator 1 is reduced, and outputs the corrected command trajectory. The command trajectory correction unit 6 corrects the command trajectory by using any of a gradient descent method, a conjugate gradient method, and a quasi-Newton method based on the gradient information. Examples of the gradient descent method include, but are not limited to, a steepest descent method, a moment method, and an accelerated gradient method. The corrected command trajectory is stored in the command trajectory storage unit 3.

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 trajectory correction unit 6 corrects the command trajectory that shortens the movement time of the manipulator 1 based on the gradient information, thereby making it possible to shorten the movement time of the manipulator 1. The command trajectory correction unit 6 is capable of efficient and faster command trajectory correction due to the use of the gradient information.

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 trajectory storage unit 3 and the speed profile from the speed calculation unit 4, the command point sequence calculation unit 7 calculates a command point sequence for each of predetermined sampling periods. The sampling period refers to a period during which the control unit 8, described later, calculates values of current to the actuators 110. Assume that the corrected command trajectory is, for example, as a spline curve is specified. To calculate the position command point sequence for the manipulator 1 at each sampling, the command point sequence calculation unit 7 performs a conversion between time and a parameter of the curve as the corrected command trajectory based on the velocity profile in combination with a piecewise polynomial of the spline curve as the corrected command trajectory with the parameter as input.

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 manipulator 1 in such a way that the manipulator 1 follows the corrected command path. In other words, the control unit 8 controls the manipulator 1 such that the manipulator 1 follows the command point sequence from the command point sequence calculation unit 7.

5 ist ein Blockdiagramm, das ein Beispiel der Steuereinheit 8 gemäß der ersten Ausführungsform veranschaulicht. Die Steuereinheit 8 beinhaltet eine Vorwärtskopplungssteuereinheit 81, eine Rückkopplungssteuereinheit 82 und eine Stromwertberechnungseinheit 83. 5 is a block diagram illustrating an example of the control unit 8 according to the first embodiment. The control unit 8 includes a feedforward control unit 81, a feedback control unit 82 and a current value calculation unit 83.

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 feedforward control unit 81, for example, performs filtering such as smoothing on the command point sequence from the command point sequence calculation unit 7 and outputs the thus smoothed command point sequence. The feedforward control unit 81 calculates and outputs a feedforward value of electric current supplied to the actuator 110 by applying a modeled inverse transfer function to the command point sequence from the command point sequence calculation unit 7. The inverse transfer function is an inverse function of a transfer function for the control target, i.e. H. the actuator 110. In cases where a disturbance occurring in the actuator 110 can be detected with a sensor, the feedforward control unit 81 can apply the modeled inverse transfer function to a disturbance signal. In this case, the feedforward control unit 81 outputs the above-mentioned feedforward value of electric current, which includes a result of applying the inverse transfer function to the noise signal. A specific example of the malfunction is vibration caused by a worker's contact with the manipulator 1.

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 feedback control unit 82 performs feedback control to enable the actuator 110 to follow the smoothed command point sequence from the feedforward control unit 81, and calculates and outputs a feedback value from electric power supplied to the actuator 110.

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 feedforward control unit 81 and the feedback electric current value from the feedback control unit 82, the current value calculation unit 83 calculates the current value supplied to the actuator 110.

6 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung 100 gemäß der ersten Ausführungsform arbeitet. Mit anderen Worten ist 6 das Ablaufdiagramm, das ein Beispiel eines Robotersteuerverfahrens gemäß der ersten Ausführungsform veranschaulicht. 6 is a flowchart illustrating an example of how the robot control device 100 according to the first embodiment operates. In other words is 6 12 is a flowchart illustrating an example of a robot control method according to the first embodiment.

Wie in 6 veranschaulicht, berechnet, wenn die Robotersteuerung durch ein nicht veranschaulichtes Mittel gestartet wird, die Geschwindigkeitsberechnungseinheit 4 das 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 des Bewertungsindex auf Grundlage der Bewegungszeit des Manipulators 1 (Schritt ST1).As in 6 As illustrated, when the robot controller is started by an unillustrated means, the speed calculation unit 4 calculates the speed profile for the manipulator 1 based on the preset command trajectory for the manipulator 1, the restriction condition for the manipulator 1, and the evaluation index based on the moving time of the manipulator 1 (Step ST1).

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 gradient calculation unit 5 calculates and outputs as the gradient information the gradient of the movement time of the manipulator 1 with respect to the command trajectory (step ST2).

Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command trajectory correction unit 6 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 trajectory storage unit 3 stores the corrected command trajectory (step ST4).

Die Befehlspunktsequenzberechnungseinheit 7 berechnet die Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point sequence calculation unit 7 calculates the command point sequence based on the corrected command trajectory and the speed profile (step ST5).

Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the actuators 110 such that the manipulator 1 follows the corrected command path (step ST6).

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 manipulator 1 has reached an end point of the corrected command path. Alternatively, the robot control is terminated when an abnormal movement of the manipulator 1 is determined, which terminates the robot control. This determination is made by an unillustrated means.

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 manipulator 1 and the evaluation index based on the movement time of the manipulator 1, 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, which result in a shorter movement time and satisfy the constraint condition, can therefore be determined more quickly for the manipulator 1.

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 manipulator 1 based on peripheral information, the peripheral information being previously obtained from the peripheral environment 113.

7 ist ein Blockdiagramm, das ein Beispiel einer Robotersteuervorrichtung 100a gemäß der zweiten Ausführungsform veranschaulicht. 7 unterscheidet sich von 1 dadurch, dass die Robotersteuervorrichtung 100a zusätzlich zu den Bestandteilen der Robotersteuervorrichtung 100 eine Peripherieumgebungsinformationsspeichereinheit 9, eine Befehlsbahnerzeugungseinheit 10 und eine Geschwindigkeitsprofilspeichereinheit 11 beinhaltet. Überdies unterscheidet sich 7 von 1 dadurch, dass sie eine Befehlsbahnkorrektureinheit 6a anstelle der Befehlsbahnkorrektureinheit 6 beinhaltet. Jene außer der Peripherieumgebungsinformationsspeichereinheit 9, der Befehlsbahnerzeugungseinheit 10, der Geschwindigkeitsprofilspeichereinheit 11 und der Befehlsbahnkorrektureinheit 6a sind gleich den in 1 veranschaulichten und sind somit nicht beschrieben. 7 is a block diagram illustrating an example of a robot control device 100a according to the second embodiment. 7 differs from 1 in that the robot control device 100a includes, in addition to the components of the robot control device 100, a peripheral environment information storage unit 9, a command trajectory generation unit 10 and a speed profile storage unit 11. Furthermore, it differs 7 from 1 in that it includes a command path correction unit 6a instead of the command path correction unit 6. Those other than the peripheral environment information storage unit 9, the command trajectory generation unit 10, the speed profile storage unit 11 and the command trajectory correction unit 6a are the same as those in 1 illustrated and are therefore not described.

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 information storage unit 9 stores the peripheral information around the manipulator 1. Concretely, the peripheral environment information storage unit 9 stores information about, for example, positions and shapes of obstacles around the manipulator 1 acquired from the peripheral environment 113 as the peripheral information. A data structure for the peripheral information to be stored can be, for example, a point cloud, voxels, a polygon network, a rectangular cuboid or another basic shape or a combination of several basic shapes. Alternatively, the data structure may be a bounding volume hierarchy, which enables, for example, a distance function calculation unit 61 described later to perform a faster distance calculation.

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 trajectory generation unit 10 generates the command trajectory based on the peripheral information stored in the peripheral environment information storage unit 9. Specifically, the command trajectory generation unit 10 generates the command trajectory that prevents the manipulator 1 from being influenced by the peripheral obstacles based on the peripheral information, thereby updating a command trajectory stored in the command trajectory storage unit 3. An algorithm to be used to generate the command trajectory may be, for example, a Rapidly Exploring Random Tree (RRT), a Probabilistic Roadmap (PRM), or the like.

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 trajectory generation unit 10 is not a preset output trajectory, but an autonomously generated command trajectory that avoids interference from the obstacles around the manipulator 1. For example, simply entering a start point and an end point of the command trajectory enables the command trajectory generation unit 10 to automatically generate the command trajectory.

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 trajectory storage unit 3, the peripheral information stored in the peripheral environment information storage unit 9, and the gradient information from the gradient calculation unit 5, the command trajectory correction unit 6a corrects the command trajectory and outputs the corrected command trajectory. The corrected command trajectory is stored in the command trajectory storage unit 3.

8 ist ein Blockdiagramm, das ein Beispiel der Befehlsbahnkorrektureinheit 6a gemäß der zweiten Ausführungsform veranschaulicht. Die Befehlsbahnkorrektureinheit 6a beinhaltet die Abstandsfunktionsberechnungseinheit 61, eine Barrierefunktionsberechnungseinheit 62, eine Barrierefunktionsgradientenberechnungseinheit 63 und eine Befehlsbahnkorrekturwertberechnungseinheit 64. 8th is a block diagram illustrating an example of the command trajectory correction unit 6a according to the second embodiment. The command trajectory correction unit 6a includes the distance function calculation unit 61, a barrier function calculation unit 62, a barrier function gradient calculation unit 63 and a command trajectory correction value calculation unit 64.

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 function calculation unit 61 calculates a value of a distance function between the command trajectory and the peripheral obstacles based on the command trajectory stored in the command trajectory storage unit 3 and the peripheral information stored in the peripheral environment information storage unit 9.

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 function calculation unit 62 constructs a barrier function whose value diverges when the value of the distance function becomes less than or equal to a value, and calculates a value of the barrier function based on the distance function value from the distance function calculation unit 61.

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 gradient calculation unit 63 calculates a gradient of the barrier function value from the barrier function calculation unit 62 with respect to the command trajectory. The barrier function gradient calculation unit 63 uses, for example, automatic differentiation to calculate the gradient.

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 value calculation unit 64, a gradient of a movement time of the manipulator 1 with respect to the command trajectory from the gradient calculation unit 5 and the gradient of the barrier function value with respect to the command trajectory from the barrier function gradient calculation unit 63 are combined together into gradient information. Based on this gradient information, the command trajectory correction value calculation unit 64 calculates a correction value for the command trajectory such that the movement time plus the barrier function value becomes smaller.

Es wird wieder auf 7 Bezug genommen. Die Geschwindigkeitsprofilspeichereinheit 11 speichert ein Geschwindigkeitsprofil von der Geschwindigkeitsberechnungseinheit 4. Die Robotersteuervorrichtung 100a, welche die Geschwindigkeitsprofilspeichereinheit 11 beinhaltet, kann einen Zeitpunkt einstellen, zu dem die Geschwindigkeitsberechnungseinheit 4 das Geschwindigkeitsprofil berechnet. Mit anderen Worten kann die Berechnung des Geschwindigkeitsprofils nicht nur vorgenommen werden, unmittelbar bevor die Steuereinheit 8 die Aktoren 110 steuert, sondern kann auch zu einem anderen Zeitpunkt vorgenommen werden, wie etwa wenn sich der Manipulator 1 nicht in Bewegung befindet oder einen anderen Vorgang durchführt.It will open again 7 Referenced. The speed profile storage unit 11 stores a speed profile from the speed calculation unit 4. The robot control device 100a, which includes the speed profile storage unit 11, can set a timing at which the speed calculation unit 4 calculates the speed profile. In other words, the calculation of the speed profile can not only be carried out immediately before the control unit 8 controls the actuators 110, but can also be carried out at another time, such as when the manipulator 1 is not in motion or is carrying out another operation.

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 trajectory storage unit 3 and the speed profile stored in the speed profile storage unit 11, the command point sequence calculation unit 7 calculates a command point sequence sequence for each of predetermined sampling periods.

9 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung 100a gemäß der zweiten Ausführungsform arbeitet. Mit anderen Worten ist 9 das Ablaufdiagramm, das ein Beispiel eines Robotersteuerverfahrens gemäß der zweiten Ausführungsform veranschaulicht. Die Schritte ST1 bis ST7 in 9 sind die gleichen wie die Schritte ST1 bis ST7 in 6 und sind hier somit nicht näher beschrieben. 9 is a flowchart illustrating an example of how the robot control device 100a according to the second embodiment operates. In other words is 9 12 is a flowchart illustrating an example of a robot control method according to the second embodiment. Steps ST1 to ST7 in 9 are the same as steps ST1 to ST7 in 6 and are therefore not described in more detail here.

Wie in 9 veranschaulicht, erzeugt, wenn die Robotersteuerung durch ein nicht veranschaulichtes Mittel gestartet wird, die Befehlsbahnerzeugungseinheit 10 die Befehlsbahn auf Grundlage der in der Peripherieumgebungsinformationsspeichereinheit 9 gespeicherten Peripherieinformationen. (Schritt ST8).As in 9 As illustrated, when the robot controller is started by an unillustrated means, the command trajectory generating unit 10 generates the command trajectory based on the peripheral information stored in the peripheral environment information storage unit 9. (Step ST8).

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 manipulator 1 based on the command trajectory for the manipulator 1, a restriction condition for the manipulator 1, and an evaluation index based on the moving time of the manipulator 1 (step ST1).

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 gradient calculation unit 5 calculates and outputs as the gradient information the gradient of the movement time of the manipulator 1 with respect to the command trajectory (step ST2).

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 trajectory storage unit 3 stores the corrected command trajectory (step ST4).

Die Befehlspunktsequenzberechnungseinheit 7 berechnet die Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point sequence calculation unit 7 calculates the command point sequence based on the corrected command trajectory and the speed profile (step ST5).

Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the actuators 110 such that the manipulator 1 follows the corrected command path (step ST6).

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 trajectory generation unit 10 generates the command trajectory based on the peripheral information from the peripheral environment 113, the corrected command trajectory and the speed profile, resulting in a shorter movement time as well as avoiding interference from the obstacles, can be faster for the manipulator 1 be determined.

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 manipulator 1 is controlled using an input/output device 12 such as a tablet computer.

10 ist ein Blockdiagramm, das ein Beispiel einer Robotersteuervorrichtung 100b gemäß der dritten Ausführungsform veranschaulicht. 10 unterscheidet sich von 1 dadurch, dass die Robotersteuervorrichtung 100b über ein nicht veranschaulichtes Mittel mit einer Eingabe/Ausgabe-Einrichtung 12 verbunden ist. Die Robotersteuervorrichtung 100b weist die gleiche Konfiguration wie die Robotersteuervorrichtung 100 gemäß der ersten Ausführungsform auf und ist somit nicht beschrieben. Die Robotersteuervorrichtung 100b kann die gleiche Konfiguration wie die Robotersteuervorrichtung 100a gemäß der zweiten Ausführungsform aufweisen. 10 is a block diagram illustrating an example of a robot control device 100b according to the third embodiment. 10 differs from 1 in that the robot control device 100b is connected to an input/output device 12 via a means not shown. The robot control device 100b has the same configuration as the robot control device 100 according to the first embodiment, and thus will not be described. The robot control device 100b may have the same configuration as the robot control device 100a according to the second embodiment.

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/output device 12 displays motion information about the manipulator 1 and peripheral information acquired from the peripheral environment 113 on a screen. The movement information relates, for example, to a video of the manipulator 1 in motion. The input/output device 12 outputs motion information input by a worker to the robot control device 100b. For example, the input/output device 12 may enable the worker to enter start and end points of movement of the manipulator 1 via a touch screen panel or a voice interface, or to set a rough command trajectory for the holding part 111 of the manipulator 1 by sketching with a finger on the on the tablet computer screen. This command path is stored in the command path storage unit 3. The worker can also stop the manipulator 1 during movement using the input/output device 12. In this case, the input/output device 12 displays “Stop operation” on the screen, and the worker touches this display, so the input/output device 12 transmits a work stop instruction to the robot controller 100b. Accordingly, the robot control device 100b stops the manipulator 1 from moving.

11 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung 100b gemäß der dritten Ausführungsform arbeitet. Mit anderen Worten ist 11 das Ablaufdiagramm, das ein Beispiel eines Robotersteuerverfahrens gemäß der dritten Ausführungsform veranschaulicht. Die Schritte ST1 bis ST6 in 11 sind die gleichen wie die Schritte ST1 bis ST6 in 6 und sind hier somit nicht näher beschrieben. 11 is a flowchart illustrating an example of how the robot control device 100b according to the third embodiment operates. In other words is 11 12 is a flowchart illustrating an example of a robot control method according to the third embodiment. Steps ST1 to ST6 in 11 are the same as steps ST1 to ST6 in 6 and are therefore not described in more detail here.

Wie in 11 veranschaulicht, berechnet, wenn die Robotersteuerung durch ein nicht veranschaulichtes Mittel gestartet wird, die Geschwindigkeitsberechnungseinheit 4 ein Geschwindigkeitsprofil für den Manipulator 1 auf Grundlage der voreingestellten Befehlsbahn für den Manipulator 1, einer Beschränkungsbedingung für den Manipulator 1 und eines Bewertungsindex auf Grundlage einer Bewegungszeit des Manipulators 1 (Schritt ST1).As in 11 As illustrated, when the robot controller is started by an unillustrated means, the speed calculation unit 4 calculates a speed profile for the manipulator 1 based on the preset command trajectory for the manipulator 1, a restriction condition for the manipulator 1, and an evaluation index based on a moving time of the manipulator 1 (Step ST1).

Die Gradientenberechnungseinheit 5 berechnet und gibt als Gradienteninformationen einen Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus (Schritt ST2).The gradient calculation unit 5 calculates and outputs, as gradient information, a gradient of the movement time of the manipulator 1 with respect to the command trajectory (step ST2).

Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command trajectory correction unit 6 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 trajectory storage unit 3 stores the corrected command trajectory (step ST4).

Die Befehlspunktsequenzberechnungseinheit 7 berechnet eine Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

Die Steuereinheit 8 steuert die Aktoren 110 derart, dass der Manipulator 1 der korrigierten Befehlsbahn folgt (Schritt ST6).The control unit 8 controls the actuators 110 such that the manipulator 1 follows the corrected command path (step ST6).

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 manipulator 1 continues. If the determination at step ST11 is “No”, the robot control is ended. The robot control is ended if, for example: B. the Manipulator 1 has reached an end point of the corrected command path. Alternatively, the robot control is terminated when abnormal movement of the manipulator 1 is determined. Alternatively, the robot control is terminated when the instruction “Stop operation” has been transmitted from the input/output device 12 to the robot control device 100b. This determination is made by an unillustrated means.

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/output device 12 in controlling the manipulator 1 enables visualization of the movement of the manipulator 1.

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 manipulator 1 is controlled and is attached to a movable frame 13.

12 ist ein Blockdiagramm, das ein Beispiel einer Robotersteuervorrichtung 100c gemäß der vierten Ausführungsform veranschaulicht. 12 unterscheidet sich von 1 dadurch, dass der Manipulator 1 an dem beweglichen Rahmen 13 angebracht ist. Überdies unterscheidet sich 12 von 1 dadurch, dass die Robotersteuervorrichtung 100c eine Beschränkungsbedingungsspeichereinheit 2c anstelle der Beschränkungsbedingungsspeichereinheit 2, eine Geschwindigkeitsberechnungseinheit 4c anstelle der Geschwindigkeitsberechnungseinheit 4 und eine Gradientenberechnungseinheit 5c anstelle der Gradientenberechnungseinheit 5 beinhaltet. Jene außer der Beschränkungsbedingungsspeichereinheit 2c, der Geschwindigkeitsberechnungseinheit 4c und der Gradientenberechnungseinheit 5c sind den in 1 veranschaulichten und werden somit nicht beschrieben. Die Robotersteuervorrichtung 100c beruht auf der Robotersteuervorrichtung 100 gemäß der ersten Ausführungsform, kann jedoch auf der Robotersteuervorrichtung 100a gemäß der zweiten Ausführungsform oder der Robotersteuervorrichtung 100b gemäß der dritten Ausführungsform beruhen. 12 is a block diagram illustrating an example of a robot control device 100c according to the fourth embodiment. 12 differs from 1 in that the manipulator 1 is attached to the movable frame 13. Furthermore, it differs 12 from 1 in that the robot control device 100c includes a restriction condition storage unit 2c in place of the restriction condition storage unit 2, a speed calculation unit 4c in place of the speed calculation unit 4, and a gradient calculation unit 5c in place of the gradient calculation unit 5. Those other than the constraint condition storage unit 2c, the speed calculation unit 4c and the gradient calculation unit 5c are those in 1 illustrated and are therefore not described. The robot control device 100c is based on the robot control device 100 according to the first embodiment, but may be based on the robot control device 100a according to the second embodiment or the robot control device 100b according to the third embodiment.

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 condition storage unit 2c stores one or more parameters of a restriction condition that are preset with respect to the manipulator 1. The restriction condition includes a condition relating to at least one of a joint angular velocity, a joint angular acceleration, a joint torque, a hand tip speed, a hand tip acceleration of the manipulator 1, a force generated on an object gripped by the manipulator 1, and a movable frame 13 refers to the reaction force exerted with the manipulator 1 attached thereto and a torque component of the reaction force.

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 robot control device 100c may include an unillustrated reaction force limitation learning unit. Using machine learning, the reaction force restriction learning unit can learn the parameter(s) of the restriction condition related to at least one of the reaction force exerted on the movable frame 13 with the manipulator 1 attached thereto and the torque component of the reaction force. In this case, the reaction force restriction learning unit may store the thus obtained restriction condition parameter(s) in the restriction condition storage unit 2c. Specifically, the reaction force restriction learning unit with a sensor not shown acquires the reaction force applied to the movable frame 13 and the torque component of the reaction force when the manipulator 1 is in motion, and learns the parameter(s) of the restriction condition based on acquired values.

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 trajectory storage unit 3 and the restriction condition parameter(s) from the restriction condition storage unit 2c, the speed calculation unit 4c calculates a speed profile along the command trajectory, the speed profile shortening the movement time for the manipulator 1 within a range of the restriction condition.

Die Geschwindigkeitsberechnungseinheit 4c weist die gleiche Konfiguration wie die in 3 veranschaulichte Geschwindigkeitsberechnungseinheit 4 auf, unterscheidet sich jedoch von der Geschwindigkeitsberechnungseinheit 4 dadurch, dass die Berechnung der Reaktionskraft, die auf den beweglichen Rahmen 13 ausgeübt wird, wenn sich der Manipulator 1 in Bewegung befindet, und der Drehmomentkomponente der Reaktionskraft in der durch die Dynamikberechnungseinheit 42 durchgeführten Dynamikberechnung beinhaltet ist, und dass die Beschränkungsbedingungskoeffizientenberechnungseinheit 43 Koeffizienten der Beschränkungsbedingung, einschließlich einer Beschränkungsbedingung bezüglich der Reaktionskraft und der Drehmomentkomponente der Reaktionskraft, berechnet. In Fällen, bei denen die Robotersteuervorrichtung 100c die Reaktionskraftbeschränkungslerneinheit beinhaltet, berechnet die Geschwindigkeitsberechnungseinheit 4c das Geschwindigkeitsprofil auf Grundlage der Befehlsbahn und des/der Parameter der Beschränkungsbedingung, welche die Reaktionskraftbeschränkungslerneinheit erlernt hat.The speed calculation unit 4c has the same configuration as that in 3 illustrated speed calculation unit 4, but differs from the speed calculation unit 4 in that the calculation of the reaction force exerted on the movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force in the dynamic calculation unit 42 is carried out Dynamic calculation is included, and that the restriction condition coefficient calculation unit 43 calculates coefficients of the restriction condition, including a restriction condition regarding the reaction force and the torque component of the reaction force. In cases where the robot control device 100c includes the reaction force limitation learning unit, the speed calculation unit 4c calculates this Velocity profile based on the command trajectory and the constraint condition parameter(s) learned by the reaction force constraint learning unit.

Die Gradientenberechnungseinheit 5c berechnet und gibt als Gradienteninformationen einen Gradienten der Bewegungszeit des Manipulators 1 in Bezug auf die Befehlsbahn aus.The gradient calculation unit 5c calculates and outputs as gradient information a gradient of the movement time of the manipulator 1 with respect to the command trajectory.

Die Gradientenberechnungseinheit 5c weist die gleiche Konfiguration wie die in 4 veranschaulichte Gradientenberechnungseinheit 5 auf, unterscheidet sich jedoch von der Gradientenberechnungseinheit 5 dadurch, dass die Beschränkungsbedingungskoeffizient-Gradientenberechnungseinheit 53 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 eines Gradienten der Bewegungszeit in Bezug auf ein Kinematikberechnungsergebnis und eines Gradienten der Bewegungszeit in Bezug auf ein Dynamikberechnungsergebnis berücksichtigt. Ein anderer Unterschied zu der Gradientenberechnungseinheit 5 besteht darin, dass die Profilgradientenberechnungseinheit 54 beim Berechnen eines Gradienten ebenfalls die Reaktionskraft, die auf den beweglichen Rahmen 13 ausgeübt wird, wenn sich der Manipulator 1 in Bewegung befindet, und die Drehmomentkomponente der Reaktionskraft berücksichtigt.The gradient calculation unit 5c has the same configuration as that in 4 illustrated gradient calculation unit 5, but is different from the gradient calculation unit 5 in that the constraint condition coefficient gradient calculation unit 53 also takes into account the reaction force exerted on the movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force when calculating a Gradients of the movement time in relation to a kinematics calculation result and a gradient of the movement time in relation to a dynamics calculation result are taken into account. Another difference from the gradient calculation unit 5 is that the profile gradient calculation unit 54 also takes into account the reaction force exerted on the movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force when calculating a gradient.

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 robot control device 100c, which includes the restriction condition storage unit 2c, the speed calculation unit 4c and the gradient calculation unit 5c, can prevent vibration due to the reaction force on the movable frame 13 and shorten the moving time of the manipulator 1.

13 ist ein Ablaufdiagramm, das ein Beispiel dafür veranschaulicht, wie die Robotersteuervorrichtung 100c gemäß der vierten Ausführungsform arbeitet. Mit anderen Worten ist 13 das Ablaufdiagramm, das ein Beispiel eines Robotersteuerverfahrens gemäß der vierten Ausführungsform veranschaulicht. Die Schritte ST1 bis ST7 in 13 sind die gleichen wie die Schritte ST1 bis ST7 in 6 und werden somit hier nicht näher beschrieben. 13 is a flowchart illustrating an example of how the robot control device 100c according to the fourth embodiment operates. In other words is 13 12 is a flowchart illustrating an example of a robot control method according to the fourth embodiment. Steps ST1 to ST7 in 13 are the same as steps ST1 to ST7 in 6 and are therefore not described in more detail here.

Wie in 13 veranschaulicht, berechnet, wenn die Robotersteuerung durch ein nicht veranschaulichtes Mittel gestartet wird, die Geschwindigkeitsberechnungseinheit 4c das 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 der Bewegungszeit des Manipulators 1 (Schritt ST1). Die Dynamikberechnungseinheit 42 in der Geschwindigkeitsberechnungseinheit 4c führt eine Kinematikberechnung und die Dynamikberechnung, einschließlich der Berechnung der Reaktionskraft, die auf den beweglichen Rahmen 13 ausgeübt wird, wenn sich der Manipulator 1 in Bewegung befindet, und der Drehmomentkomponente der Reaktionskraft, durch. Die Beschränkungsbedingungskoeffizientenberechnungseinheit 43 in der Geschwindigkeitsberechnungseinheit 4c berechnet die Koeffizienten der Beschränkungsbedingung, einschließlich der Beschränkungsbedingung bezüglich der auf den beweglichen Rahmen 13 ausgeübten Reaktionskraft und der Drehmomentkomponente der Reaktionskraft.As in 13 As illustrated, when the robot controller is started by an unillustrated means, the speed calculation unit 4c calculates the speed profile for the manipulator 1 based on the preset command trajectory for the manipulator 1, the restriction condition for the manipulator 1, and an evaluation index based on the moving time of the manipulator 1 (Step ST1). The dynamics calculation unit 42 in the speed calculation unit 4c performs kinematics calculation and the dynamics calculation including calculation of the reaction force exerted on the movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force. The restriction condition coefficient calculation unit 43 in the speed calculation unit 4c calculates the restriction condition coefficients, including the restriction condition on the reaction force applied to the movable frame 13 and the torque component of the reaction force.

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 gradient calculation unit 5c calculates and outputs as the gradient information the gradient of the movement time of the manipulator 1 with respect to the command trajectory (step ST2). The constraint condition coefficient gradient calculation unit 53 in the gradient calculation unit 5c also takes into account the reaction force exerted on the movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force when calculating the gradient of the movement time with respect to the kinematics calculation result and the Gradients of movement time in relation to the dynamics calculation result. The profile gradient calculation unit 54 in the gradient calculation unit 5c also takes into account the reaction force applied to the movable frame 13 and the torque component of the reaction force in calculating the gradient of the moving time with respect to the coefficients of the restriction condition.

Die Befehlsbahnkorrektureinheit 6 korrigiert die Befehlsbahn auf Grundlage der Gradienteninformationen und gibt die korrigierte Befehlsbahn aus (Schritt ST3).The command trajectory correction unit 6 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 trajectory storage unit 3 stores the corrected command trajectory (step ST4).

Die Befehlspunktsequenzberechnungseinheit 7 berechnet eine Befehlspunktsequenz auf Grundlage der korrigierten Befehlsbahn und des Geschwindigkeitsprofils (Schritt ST5).The command point sequence calculation unit 7 calculates a command point sequence based on the corrected command trajectory and the speed profile (step ST5).

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 actuators 110 such that the manipulator 1 is caused to follow the corrected command path (step ST6).

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 manipulator 1 continues. If the determination at step ST11 is “No”, the robot control is ended.

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 movable frame 13 when the manipulator 1 is in motion and the torque component of the reaction force are taken into account, making it possible to prevent the vibration of the movable frame 13 as well as the To shorten the movement time of the manipulator 1.

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 robot control device 100c according to the fourth embodiment performs on the manipulator 1 is also applicable to the movable frame 13. The control that the robot control device 100c performs on the manipulator 1 is not limited to cases where the manipulator 1 is attached to the movable frame 13, and is also applicable to cases where the manipulator 1 is attached to an unillustrated stationary frame is appropriate.

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 robot control devices 100, 100a, 100b and 100c and the robot control methods according to the first to fourth embodiments are applicable to other than the manipulator 1, which is the vertically articulated robot. For example, the robot control devices 100, 100a, 100b and 100c and the robot control methods are applicable to a manipulator 1 with any axis configuration, such as a horizontally articulated robot. The robot control devices 100, 100a, 100b and 100c and the robot control methods are also applicable to industrial devices other than the manipulators 1.

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 robot control devices 100, 100a, 100b and 100c according to the first to fourth embodiments is provided. The functions of the robot control devices 100, 100a, 100b and 100c can each be implemented with a processing circuit. The processing circuit includes at least one processor and at least one memory.

14 ist eine Darstellung, welche die Hardwarekonfigurationen für jede der Robotersteuervorrichtungen 100, 100a, 100b und 100c gemäß der ersten bis vierten Ausführungsform veranschaulicht. Die Robotersteuervorrichtungen 100, 100a, 100b und 100c sind jeweils mit einem Prozessor 200 und einem Speicher 201 umsetzbar, die in 14(a) veranschaulicht sind. Der Prozessor 200 ist beispielsweise eine Zentraleinheit (CPU) (auch als eine Verarbeitungseinheit, eine arithmetische Einheit, ein Mikroprozessor, ein Mikrocomputer, ein Prozessor oder ein digitaler Signalprozessor (DSP) bezeichnet) oder ein System mit hohem Integrationsgrad (LSI) . 14 is a diagram illustrating the hardware configurations for each of the robot control devices 100, 100a, 100b and 100c according to the first to fourth embodiments. The robot control devices 100, 100a, 100b and 100c can each be implemented with a processor 200 and a memory 201, which are in 14(a) are illustrated. The processor 200 is, for example, a central processing unit (CPU) (also referred to as a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor or a digital signal processor (DSP)) or a high level of integration system (LSI).

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 memory 201 is, for example, a non-volatile or volatile semiconductor memory, such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) (registered trademark). , a hard disk drive (HDD), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a digital versatile disk (DVD), or the like.

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 robot control devices 100, 100a, 100b, and 100c are each implemented with software or the like (i.e., the software, firmware, or software combined with firmware). The software or the like is described as programs and is stored in the memory 201. The processor 200 implements the functions of the units by reading and executing the programs stored in the memory 201. In other words, it can be said that the programs cause a computer to execute the procedure or procedure of each of the robot control devices 100, 100a, 100b and 100c.

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 processor 200 may be provided as a computer program product stored as an installable or executable file in a computer-readable storage medium. The programs to be executed by the processor 200 may be provided to each of the robot controllers 100, 100a, 100b and 100c via a network such as the Internet.

Die Robotersteuervorrichtungen 100, 100a, 100b und 100c können jeweils mit einer in 14(b) veranschaulichten dedizierten Verarbeitungsschaltung 202 umgesetzt sein. Wenn es sich bei der Verarbeitungsschaltung 202 um dedizierte Hardware handelt, entspricht die Verarbeitungsschaltung 202 beispielsweise einer Einzelschaltung, einer Verbundschaltung, einem programmierten Prozessor, einem programmierten Parallelprozessor, einer anwendungsspezifischen integrierten Schaltung (ASIC), einem feldprogrammierbaren Gate-Array (FPGA), einer Kombination davon oder dergleichen.The robot control devices 100, 100a, 100b and 100c can each be equipped with an in 14(b) illustrated dedicated processing circuit 202 may be implemented. If the processing circuit 202 is dedicated hardware, the processing circuit 202 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a programmed parallel processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a combination of it or something like that.

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 robot control devices 100, 100a, 100b and 100c have been described above as being implemented by one of the software (or the like) and the hardware. However, this is not restrictive kend. A part of the components of each of the robot control devices 100, 100a, 100b, and 100c may be implemented with software or the like, while another part of the components may be implemented with dedicated hardware.

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)

Robotersteuervorrichtung, umfassend: 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.Robot control device comprising: 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. Robotersteuervorrichtung nach Anspruch 1, ferner umfassend eine Befehlsbahnerzeugungseinheit zum Erzeugen der Befehlsbahn auf Grundlage von Peripherieinformationen um den Manipulator herum.Robot control device Claim 1 , further comprising a command trajectory generation unit for generating the command trajectory based on peripheral information around the manipulator. Robotersteuervorrichtung nach Anspruch 1 oder 2, wobei die Beschränkungsbedingung eine Bedingung ist, die sich auf mindestens eines von einer Gelenkwinkelgeschwindigkeit, einer Gelenkwinkelbeschleunigung, einem Gelenkdrehmoment, einer Handspitzengeschwindigkeit, einer Handspitzenbeschleunigung des Manipulators, einer Kraft, die an einem durch den Manipulator gegriffenen Objekt erzeugt wird, und einem Moment, das an dem gegriffenen Objekt erzeugt wird, bezieht.Robot control device Claim 1 or 2 , wherein the constraint condition is a condition relating to at least one of a joint angular velocity, a joint angular acceleration, a joint torque, a hand tip speed, a hand tip acceleration of the manipulator, a force generated on an object gripped by the manipulator, and a moment is generated on the grabbed object. Robotersteuervorrichtung nach Anspruch 3, ferner umfassend eine Greifbeschränkungslerneinheit zum, unter Verwendung von maschinellem Lernen, Erlernen eines Parameters der Beschränkungsbedingung, die sich auf mindestens eines von der der Kraft und dem Moment bezieht, wobei die Geschwindigkeitsberechnungseinheit das Beschleunigungsprofil auf Grundlage des durch die Greifbeschränkungslerneinheit erlernten Parameters berechnet.Robot control device Claim 3 , further comprising a grip constraint learning unit for, using machine learning, learning a parameter of the constraint condition related to at least one of the force and the torque, wherein the speed calculation unit calculates the acceleration profile based on the parameter learned by the grip constraint learning unit. Robotersteuervorrichtung nach einem der Ansprüche 1 bis 4, wobei die Beschränkungsbedingung eine Bedingung beinhaltet, die sich auf mindestens eines von einer Reaktionskraft, die auf einen Rahmen ausgeübt wird, an dem der Manipulator angebracht ist, und einer Drehmomentkomponente der Reaktionskraft bezieht.Robot control device according to one of the Claims 1 until 4 , wherein the constraint condition includes a condition related to at least one of a reaction force exerted on a frame to which the manipulator is attached and a torque component of the reaction force. Robotersteuervorrichtung nach Anspruch 5, ferner umfassend eine Reaktionskraftbeschränkungslerneinheit zum, unter Verwendung von maschinellem Lernen, Erlernen eines Parameters der Beschränkungsbedingung, die sich auf mindestens eines von der Reaktionskraft und einer Drehmomentkomponente der Reaktionskraft bezieht, wobei die Geschwindigkeitsberechnungseinheit das Geschwindigkeitsprofil auf Grundlage des durch die Reaktionskraftbeschränkungslerneinheit erlernten Parameters berechnet.Robot control device Claim 5 , further comprising a reaction force limitation learning unit for learning, using machine learning, a parameter of the limitation condition related to at least one of the reaction force and a torque component of the reaction force, wherein the speed calculation unit calculates the speed profile based on the parameter learned by the reaction force limitation learning unit. Robotersteuervorrichtung nach einem der Ansprüche 1 bis 6, wobei die Geschwindigkeitsberechnungseinheit beinhaltet: eine Befehlsinterpolationsberechnungseinheit zum Berechnen einer Position eines Interpolationspunkts auf der Befehlsbahn und einer ersten Ableitung und einer zweiten Ableitung in Bezug auf einen Parameter der Befehlsbahn, eine Dynamikberechnungseinheit zum Durchführen einer Kinematikberechnung und einer Dynamikberechnung für den Manipulator unter Verwendung der Position, der ersten Ableitung und der zweiten Ableitung und Ausgaben eines Kinematikberechnungsergebnisses und eines Dynamikberechnungsergebnisses, eine Beschränkungsbedingungskoeffizientenberechnungseinheit zum Berechnen eines Koeffizienten der Beschränkungsbedingung auf Grundlage des Kinematikberechnungsergebnisses, der Dynamikberechnungseinheit und der Beschränkungsbedingung, und eine Profilberechnungseinheit zum Berechnen des Geschwindigkeitsprofils auf Grundlage eines Koeffizienten der Beschränkungsbedingung.Robot control device according to one of the Claims 1 until 6 , wherein the speed calculation unit includes: a command interpolation calculation unit for calculating a position of an interpolation point on the command trajectory and a first derivative and a second derivative with respect to a parameter of the command trajectory, a dynamics calculation unit for performing a kinematics calculation and a dynamics calculation for the manipulator using the position, the first derivative and the second derivative and outputs a kinematics calculation result and a dynamics calculation result, a restriction condition coefficient calculation unit for calculating a coefficient of the restriction condition based on the kinematics calculation result, the dynamics calculation unit and the restriction condition, and a profile calculation unit for calculating the speed profile based on a coefficient of the restriction condition. Robotersteuervorrichtung nach einem der Ansprüche 1 bis 7, wobei die Gradientenberechnungseinheit einen Gradienten der Bewegungszeit in Bezug auf die Befehlsbahn durch Differenzieren der Bewegungszeit in Bezug auf die Befehlsbahn unter Verwendung von automatischer Differenzierung berechnet, wobei der berechnete Gradient als die Gradienteninformationen definiert ist.Robot control device according to one of the Claims 1 until 7 , wherein the gradient calculation unit calculates a gradient of the movement time with respect to the command trajectory by differentiating the movement time with respect to the command trajectory using automatic differentiation, the calculated gradient being defined as the gradient information. Robotersteuervorrichtung nach einem der Ansprüche 1 bis 8, wobei die Befehlsbahnkorrektureinheit die Befehlsbahn unter Verwendung eines beliebigen von einem Gradientenabstiegsverfahren, einem Verfahren der konjugierten Gradienten und einem Quasi-Newton-Verfahren auf Grundlage der Gradienteninformationen korrigiert.Robot control device according to one of the Claims 1 until 8th , wherein the command trajectory correction unit corrects the command trajectory using any of a gradient descent method, a conjugate gradient method and a quasi-Newton method based on the gradient information. Robotersteuerverfahren, umfassend: 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 comprising: a step of 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 step to calculate a gradient of the movement time with respect to the command trajectory based on the velocity profile, 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.
DE112021007371.0T 2021-03-24 2021-03-24 ROBOT CONTROL APPARATUS AND ROBOT CONTROL METHOD Pending DE112021007371T5 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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