[go: nahoru, domu]

DE102014114272B4 - Method for controlling a robot arrangement guided by image acquisition - Google Patents

Method for controlling a robot arrangement guided by image acquisition Download PDF

Info

Publication number
DE102014114272B4
DE102014114272B4 DE102014114272.1A DE102014114272A DE102014114272B4 DE 102014114272 B4 DE102014114272 B4 DE 102014114272B4 DE 102014114272 A DE102014114272 A DE 102014114272A DE 102014114272 B4 DE102014114272 B4 DE 102014114272B4
Authority
DE
Germany
Prior art keywords
action
robot arm
arm
identified
robotic arm
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.)
Active
Application number
DE102014114272.1A
Other languages
German (de)
Other versions
DE102014114272A1 (en
Inventor
Yhu-Tin Lin
Timothy Daro
Jeffrey A. Abell
Raymond D. Turner III.
Daniel J. Casoli
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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
Priority claimed from US14/493,942 external-priority patent/US9586320B2/en
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102014114272A1 publication Critical patent/DE102014114272A1/en
Application granted granted Critical
Publication of DE102014114272B4 publication Critical patent/DE102014114272B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/40033Assembly, microassembly
    • 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/40425Sensing, vision based motion planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Verfahren (200) zum Steuern einer Roboteranordnung (101), das umfasst, dass:ein Roboterarm (108) betätigt wird, um eine Startaktion an einer Startposition auszuführen;der Roboterarm (108) von der Startposition hin zu einer ersten Position bewegt wird;über einen Controller (102) eine visuelle Verarbeitungsteilroutine (300) ausgeführt wird, wobei die visuelle Verarbeitungsteilroutine (300) umfasst, dass:festgestellt wird, ob ein erstes Teil (X1) bereit sein wird, einer ersten Aktion durch den Roboterarm (108) unterzogen zu werden, sobald der Roboterarm (108) die erste Position erreicht;eine Positionsabweichung eines zweiten Teils (X2) von einer zweiten Position bestimmt wird;festgestellt wird, ob das zweite Teil (X2) bereit sein wird, einer zweiten Aktion durch den Roboterarm (108) unterzogen zu werden, sobald der Roboterarm (108) die zweite Position erreicht; unddie erste Aktion an dem ersten Teil (X1) unter Verwendung des Roboterarms (108) durchgeführt wird, wenn der Roboterarm (108) innerhalb einer Positionsabweichung des ersten Teils (X1) von der ersten Position angeordnet ist, welche von der visuellen Verarbeitungsteilroutine (300) vorbestimmt wurde;wobei die Schritte des Betätigens, des Bewegens, des Ausführens und des Durchführens wiederholt werden, wobei die erste Position als Startposition neu vorgesehen wird, die erste Aktion als Startaktion neu vorgesehen wird, das zweite Teil (X2) als erstes Teil (X1) neu vorgesehen wird, die zweite Position als erste Position neu vorgesehen wird, die zweite Aktion als erste Aktion neu vorgesehen wird, und die Positionsabweichung des zweiten Teils (X2) von der zweiten Position als Positionsabweichung des ersten Teils (X1) von der ersten Position neu vorgesehen wird;wobei die visuelle Verarbeitungsteilroutine (300) ein eingebetteter Prozess ist, der kontinuierlich im Hintergrund arbeitet;wobei die visuelle Verarbeitungsteilroutine (300) umfasst, dass ein nächstes Teil von einer vorgesehenen Position identifiziert wird, das einer nächsten Aktion unterzogen werden soll; dass festgestellt wird, ob eine Kamera (128) bereit ist, ein Bild des identifizierten Teils von der vorgesehenen Position aufzunehmen; und dass festgestellt wird, ob sich das identifizierte Teil in einer Position befindet, an der die Kamera (128) in der Lage ist, das Bild des identifizierten Teils aufzunehmen; undwobei das Feststellen, ob sich das identifizierte Teil in einer Position befindet, an der die Kamera (128) in der Lage ist, das Bild des identifizierten Teils aufzunehmen, auf einer Eingabe von mindestens einem Teilesensor (124) beruht.A method (200) for controlling a robot assembly (101) comprising: operating a robotic arm (108) to perform a start action at a start position; moving the robotic arm (108) from the start position to a first position; a controller (102) executing a visual processing subroutine (300), the visual processing subroutine (300) comprising: determining whether a first portion (X1) will be ready to undergo a first action by the robotic arm (108) As soon as the robotic arm (108) reaches the first position, a positional deviation of a second part (X2) from a second position is determined, it is determined whether the second part (X2) will be ready for a second action by the robotic arm (108 ) when the robot arm (108) reaches the second position; andthe first action is performed on the first part (X1) using the robot arm (108) when the robot arm (108) is located within a positional deviation of the first part (X1) from the first position that is detected by the visual processing subroutine (300). wherein the steps of operating, moving, executing and performing are repeated, wherein the first position is newly provided as the start position, the new action is newly provided as the start action, the second part (X2) is the first part (X1 ), the second position is newly provided as the first position, the second action is newly provided as a first action, and the positional deviation of the second part (X2) from the second position is the positional deviation of the first part (X1) from the first position wherein the visual processing subroutine (300) is an embedded process that operates continuously in the background; the visual processing subroutine (300) comprises identifying a next portion of a designated location to be subjected to a next action; determining whether a camera (128) is ready to capture an image of the identified portion from the designated location; and determining that the identified part is in a position where the camera (128) is capable of capturing the image of the identified part; and wherein determining whether the identified part is in a position where the camera (128) is capable of capturing the image of the identified part is based on input from at least one part sensor (124).

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS

Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung mit der Nr. 61/886,764 , die am 4. Oktober 2013 eingereicht wurde und die hiermit durch Bezugnahme vollständig mit aufgenommen ist.This application claims the priority of the provisional U.S. Application No. 61 / 886,764 filed on 4 October 2013 and which is hereby incorporated by reference in its entirety.

LIZENZRECHTE DER REGIERUNGLICENSE RIGHTS OF THE GOVERNMENT

Diese Erfindung wurde mit Regierungsunterstützung unter der vom Energieministerium vergebenen Vertragsnummer DE-EE-0002217 durchgeführt. Die Regierung besitzt bestimmte Rechte an der Erfindung.This invention has been carried out with Government support under contract number DE-EE-0002217 awarded by the Department of Energy. The government has certain rights to the invention.

TECHNISCHES GEBIETTECHNICAL AREA

Die vorliegende Offenbarung betrifft ein System und ein Verfahren zum Steuern einer Roboteranordnung.The present disclosure relates to a system and method for controlling a robot assembly.

HINTERGRUNDBACKGROUND

Zumindest einige Fertigungsprozesse verwenden eine Roboteranordnung, um bestimmte Vorrichtungen zusammenzubauen. Beispielsweise können Batterien unter Verwendung einer Roboteranordnung zusammengebaut werden. Die Roboteranordnung umfasst mindestens einen beweglichen Roboterarm, der in der Lage ist, eine Aktion an einem Teil auszuführen, etwa Bohren oder Schweißen. Eine herkömmliche Roboteranordnung verwendet Präzisionswerkzeuge, Halterungen oder Roste, die ermöglichen, dass der Roboter Teile bei vorprogrammierten Positionen und Orientierungen behandelt. Diese starre, kostspielige Platzierung von Teilen beschränkt zudem die Flexibilität der Roboteranordnung auf eine spezielle oder nur eine Vorrichtung.At least some manufacturing processes use a robotic assembly to assemble certain devices. For example, batteries may be assembled using a robotic assembly. The robotic assembly includes at least one movable robotic arm capable of performing an action on a part, such as drilling or welding. A conventional robot assembly uses precision tools, fixtures, or grates that allow the robot to handle parts at preprogrammed positions and orientations. This rigid, expensive placement of parts also limits the flexibility of the robot assembly to a particular or only one device.

Eine Roboteranordnung mit Kamerabilderfassung zur Lenkung der Teileposition ist ein neuer Weg zum Zusammenbauen von Teilen ohne kostspielige Hardware zur präzisen Positionierung von Teilen und macht daher die Produktion flexibler und kostengünstiger. Die Aufnahme und Verarbeitung von Bilderfassungsbildern benötigt jedoch Zeit und eine korrekte Einrichtung für die gewünschte Genauigkeit und Zuverlässigkeit der Roboterlenkung. Es ist daher nützlich, den Prozess der Roboterarmmanipulation und Bilderfassung im Zusammenhang zu steuern, um den Fertigungsprozess zu optimieren und dadurch die Zeit zu minimieren, die benötigt wird, um eine Vorrichtung unter Verwendung des Robotersystems vollständig zusammenzubauen.A robot assembly with camera image capture for steering the part position is a new way of assembling parts without expensive hardware for precise part positioning, thus making production more flexible and less expensive. However, the acquisition and processing of image capture images requires time and proper setup for the desired accuracy and reliability of the robotic steering. It is therefore useful to control the process of robotic arm manipulation and image acquisition in conjunction to optimize the manufacturing process and thereby minimize the time required to fully assemble a device using the robotic system.

Die Druckschrift DE 11 2009 001 414 T5 offenbart ein Steuerungsverfahren für eine Fördereinrichtung mit einem Roboterarm und einem optischen Sensor, bei dem Werkstücke auf der Fördereinrichtung mithilfe des optischen Sensors erfasst werden, ein Ist-Förderzustand für jedes erfasste Werkstück berechnet wird und die Werkstücke unter Verwendung des Roboterarms bearbeitet werden.The publication DE 11 2009 001 414 T5 discloses a control method for a conveyor having a robot arm and an optical sensor, in which workpieces on the conveyor are detected by the optical sensor, an actual conveyor state is calculated for each detected workpiece, and the workpieces are processed using the robot arm.

In der Druckschrift DE 10 2009 034 529 A1 ist ein Verfahren für ein visuelles Führungs- und Erkennungssystem offenbart, das keine Kalibrierung erfordert. Dabei wird ein Bild eines zu erlernenden Werkstücks mit einer auf einer Planscheibe eines Roboterarms befestigten Kamera erfasst und zusammen mit einem Abstand von Werkstück zu Roboterarm zum Erlernen des Werkstücks verwendet, sodass im Betrieb ein Werkstück erkannt und der Roboterarm genau positioniert werden kann.In the publication DE 10 2009 034 529 A1 For example, there is disclosed a method for a visual guidance and recognition system that does not require calibration. In this case, an image of a workpiece to be learned is detected by a camera mounted on a faceplate of a robot arm and used together with a distance from workpiece to robot arm for learning the workpiece, so that during operation a workpiece can be detected and the robot arm can be precisely positioned.

Die Druckschrift US 2013/0 166 061 A1 offenbart eine Objektgreifvorrichtung mit einer Kamera zur Aufnahme von Bildern einer Vielzahl ungeordneter Objekte, aus denen Positionen und Orientierungen der Vielzahl der Objekte geschätzt werden. Anhand der geschätzten Positionen und Orientierungen werden die Objekte einzeln ergriffen und an geeigneter Stelle abgelegt.The publication US 2013/0 166 061 A1 discloses an object grasper having a camera for taking images of a plurality of disordered objects from which positions and orientations of the plurality of objects are estimated. Based on the estimated positions and orientations, the objects are taken individually and stored at a suitable location.

ZUSAMMENFASSUNGSUMMARY

Die vorliegende Offenbarung betrifft ein Verfahren zum Steuern einer Roboteranordnung unter Verwendung von Kameras. Bei dem vorliegend offenbarten Verfahren können die Kameras verwendet werden, um die Bewegung eines Roboterarms der Roboteranordnung zu lenken. Durch Verwenden des vorliegend offenbarten Verfahrens nehmen die Kameras ein Bild eines Teils auf, während sich der Roboterarm in Bewegung befindet, statt zu warten, bis der Roboterarm seine Zielposition erreicht, wodurch die Zykluszeit eines Fertigungsprozesses minimiert wird.The present disclosure relates to a method of controlling a robot assembly using cameras. In the presently disclosed method, the cameras may be used to direct the movement of a robotic arm of the robotic assembly. Using the presently disclosed method, the cameras capture an image of a part while the robotic arm is in motion, rather than waiting for the robotic arm to reach its target position, thereby minimizing the cycle time of a manufacturing process.

Bei einer Ausführungsform umfasst das Verfahren einen Hauptprozess mit den folgenden Schritten: Betätigen eines Roboterarms, um eine Aktion an einer Startposition auszuführen; Bewegen des Roboterarms von der Startposition hin zu einer ersten Position; Bestimmen aus einem Bilderfassungsprozessverfahren, ob ein erstes Teil von der ersten Position bereit sein wird, einer ersten Aktion durch den Roboterarm unterzogen zu werden, sobald der Roboterarm die erste Position erreicht; Beginnen der Ausführung des visuellen Verarbeitungsverfahrens zur Bestimmung der Positionsabweichung des zweiten Teils von der zweiten Position und ob das zweite Teil bereit ist, einer zweiten Aktion durch den Roboterarm unterzogen zu werden, sobald der Roboterarm die zweite Position erreicht; und Ausführen einer ersten Aktion an dem ersten Teil unter Verwendung des Roboterarms, wobei die Positionsabweichung des ersten Teils von der ersten Position durch das Bilderfassungsprozessverfahren vorbestimmt ist. Die Schritte werden für den nächsten Robotermontagezyklus wiederholt, wobei die erste Position und Aktion als die neue Startposition bzw. -aktion neu vorgesehen werden, das zweite Teil, die zweite Position und die zweite Aktion als das neue erste Teil, die neue erste Position bzw. die neue erste Aktion vorgesehen werden und die Positionsabweichung des zweiten Teils als Positionsabweichung des neuen ersten Teils vorgesehen wird.In one embodiment, the method comprises a main process comprising the steps of: operating a robotic arm to perform an action at a start position; Moving the robotic arm from the start position to a first position; Determining, from an image acquisition process method, whether a first part from the first position will be ready to undergo a first action by the robotic arm when the robotic arm reaches the first position; Commencing execution of the visual processing method to determine the positional deviation of the second portion from the second position and whether the second portion is ready to undergo a second action by the robotic arm when the robotic arm reaches the second position; and performing a first one Action on the first part using the robot arm, wherein the positional deviation of the first part from the first position is predetermined by the image acquisition process method. The steps are repeated for the next robotic assembly cycle, with the first position and action being re-scheduled as the new starting position, the second part, the second position and the second action being the new first part, the new first position or the new first action is provided and the positional deviation of the second part is provided as a positional deviation of the new first part.

Das Verfahren umfasst außerdem das Bilderfassungsprozessverfahren, einen eingebetteten Prozess, der kontinuierlich im Hintergrund arbeitet und die folgenden Schritte aufweist: Identifizieren des nächsten Teils von einer vorgesehenen Position, das einer Aktion unterzogen werden soll; Prüfen, ob die Kamera bereit ist, das Bild des identifizierten Teils von der vorgesehenen Position aufzunehmen; Prüfen, ob das identifizierte Teil sich in Position für die Bildaufnahme befindet, mithilfe eines Teilesensors; Aufnehmen eines Bilds des identifizierten Teils von der vorgesehenen Position unter Verwendung einer Kamera, während sich der Roboterarm hin zu der vorgesehenen Position bewegt; Bestimmen einer Positionsabweichung des identifizierten Teils von der vorgesehenen Position zumindest teilweise auf der Grundlage der Position des identifizierten Teils, während sich der Roboterarm hin zu der vorgesehenen Position bewegt; Setzen des Status des identifizierten Teils von der vorgesehenen Position auf bereit, einer Aktion unterzogen zu werden.The method also includes the image capture process method, an embedded process that operates continuously in the background, and includes the steps of: identifying the next part of a designated location to be actioned; Checking that the camera is ready to capture the image of the identified part from the intended position; Check that the identified part is in position for image acquisition using a parts sensor; Taking an image of the identified part from the intended position using a camera while the robot arm moves toward the intended position; Determining a positional deviation of the identified part from the intended position based at least in part on the position of the identified part as the robot arm moves toward the intended position; Set the status of the identified part from the intended position ready to undergo action.

Die vorliegende Offenbarung betrifft außerdem Systeme zum Steuern einer Roboteranordnung. Bei einer Ausführungsform umfasst das System eine Roboteranordnung mit einem Roboterarm und einem Arm-Aktor, der mit dem Roboterarm wirksam gekoppelt ist. Der Arm-Aktor ist ausgestaltet, um den Roboterarm von einer ersten Position zu einer zweiten Position zu bewegen. Das System umfasst ferner eine Fördereranordnung, die mehrere Förderbänder enthält. Jedes Förderband ist ausgestaltet, um mehrere Teile zu bewegen, welche ein erstes Teil und ein zweites Teil umfassen. Das System umfasst außerdem eine visuelle Anordnung, die mehrere Kameras enthält. Jede Kamera ist auf mindestens eines der Förderbänder ausgerichtet. Daher ist jede Kamera ausgestaltet, um ein Bild von mindestens einem der Teile aufzunehmen. Das System umfasst zusätzlich einen Systemcontroller in elektronischer Kommunikation mit dem Arm-Aktor und den mehreren Kameras und Förderbändern. Der Systemcontroller ist programmiert, um die folgenden Anweisungen auszuführen: Betätigen eines Roboterarms, um eine Aktion an einer Startposition auszuführen; Bewegen des Roboterarms von der Startposition zu einer ersten Position; Bestimmen aus einem Bilderfassungsprozessverfahren, ob ein erstes Teil an der ersten Position bereit sein wird, einer ersten Aktion durch den Roboterarm unterzogen zu werden, sobald der Roboterarm die erste Position erreicht; Beginnen mit der Ausführung des visuellen Verarbeitungsverfahrens zum Bestimmen der Positionsabweichung des zweiten Teils von der zweiten Position und ob das zweite Teil bereit ist, einer zweiten Aktion durch den Roboterarm unterzogen zu werden, sobald der Roboterarm die zweite Position erreicht; und Ausführen einer ersten Aktion an dem ersten Teil unter Verwendung des Roboterarms mit der Positionsabweichung des ersten Teils von der ersten Position, die durch das Bilderfassungsprozessverfahren vorbestimmt wurde. Die Schritte werden für den nächsten Robotermontagezyklus wiederholt, wobei die erste Position und -Aktion als die neue Startposition bzw. Startaktion neu vorgesehen werden, das zweite Teil, die zweite Position und die zweite Aktion als das neue erste Teil, die neue erste Position bzw. die neue erste Aktion neu vorgesehen werden und die Positionsabweichung des zweiten Teils als Positionsabweichung des neuen ersten Teils neu vorgesehen wird.The present disclosure also relates to systems for controlling a robotic assembly. In one embodiment, the system includes a robotic assembly having a robotic arm and an arm actuator operatively coupled to the robotic arm. The arm actuator is configured to move the robotic arm from a first position to a second position. The system further includes a conveyor assembly that includes a plurality of conveyor belts. Each conveyor belt is configured to move a plurality of parts including a first part and a second part. The system also includes a visual arrangement containing multiple cameras. Each camera is aligned on at least one of the conveyor belts. Therefore, each camera is configured to take a picture of at least one of the parts. The system also includes a system controller in electronic communication with the arm actuator and the multiple cameras and conveyor belts. The system controller is programmed to execute the following instructions: operating a robot arm to perform an action at a start position; Moving the robotic arm from the start position to a first position; Determining, from an image acquisition process method, whether a first part at the first position will be ready to undergo a first action by the robotic arm when the robotic arm reaches the first position; Commencing execution of the visual processing method to determine the positional deviation of the second portion from the second position and whether the second portion is ready to undergo a second action by the robotic arm when the robotic arm reaches the second position; and performing a first action on the first part using the robotic arm with the positional deviation of the first part from the first position predetermined by the image acquisition process method. The steps are repeated for the next robot mounting cycle, wherein the first position and action are newly provided as the new start position, the second part, the second position and the second action as the new first part, the new first position or the new first action will be redefined and the positional deviation of the second part will be redefined as the positional deviation of the new first part.

Der Systemcontroller ist außerdem programmiert, um das Bilderfassungsprozessverfahren auszuführen, einen eingebetteten Prozess, der kontinuierlich im Hintergrund arbeitet. Das Bilderfassungsprozessverfahren umfasst die folgenden Schritte: Identifizieren des nächsten Teils von einer vorgesehenen Position, das einer Aktion unterzogen werden soll; Prüfen, ob eine Kamera bereit ist, das Bild des identifizierten Teils an der vorgesehenen Position aufzunehmen; Prüfen, ob sich das identifizierte Teil in einer Position zur Aufnahme von Bildern befindet; Aufnehmen eines Bilds des identifizierten Teils von der vorgesehenen Position unter Verwendung einer Kamera, während sich der Roboterarm zu der vorgesehenen Position hin bewegt; Bestimmen einer Positionsabweichung des identifizierten Teils von der vorgesehenen Position zumindest teilweise beruhend auf der Position des identifizierten Teils, während sich der Roboterarm zu der vorgesehenen Position hin bewegt; Setzen des Status des identifizierten Teils von der vorgesehenen Position auf bereit, einer Aktion unterzogen zu werden.The system controller is also programmed to perform the image capture process process, an embedded process that operates continuously in the background. The image capture process method includes the steps of: identifying the next part from a designated location to be actioned; Checking if a camera is ready to capture the image of the identified part at the designated position; Checking that the identified part is in a position for taking pictures; Taking an image of the identified part from the intended position using a camera while the robot arm moves to the intended position; Determining a positional deviation of the identified part from the intended position based at least in part on the position of the identified part as the robot arm moves toward the intended position; Set the status of the identified part from the intended position ready to undergo action.

Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten, um die Erfindung auszuführen, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.The foregoing features and advantages and other features and advantages of the present invention will be readily apparent from the following detailed description of the best modes for carrying out the invention when taken in conjunction with the accompanying drawings.

Figurenliste list of figures

  • 1 ist ein schematisches Blockdiagramm eines Systems zum Zusammenbau einer Vorrichtung, wobei das System eine Roboteranordnung steuern kann; 1 Fig. 10 is a schematic block diagram of a system for assembling a device, which system may control a robot assembly;
  • 2 ist ein Flussdiagramm, das ein Verfahren zum Steuern der Roboteranordnung veranschaulicht; 2 FIG. 10 is a flow chart illustrating a method of controlling the robot assembly; FIG.
  • 3 ist ein Flussdiagramm, das ein visuelles Verarbeitungsverfahren veranschaulicht, welches Teil des in 2 veranschaulichten Verfahrens sein kann; und 3 FIG. 10 is a flowchart illustrating a visual processing method which is part of the in 2 can be illustrated method; and
  • 4 ist ein Flussdiagramm, das ein vorausschauendes optimierendes Verfahren veranschaulicht, welches Teil des in 2 veranschaulichten Verfahrens sein kann. 4 FIG. 4 is a flowchart illustrating a predictive optimizing procedure which is part of the in 2 can be illustrated method.

GENAUE BESCHREIBUNGPRECISE DESCRIPTION

Mit Bezug auf die Figuren, bei denen gleiche Bezugszeichen gleichen oder ähnlichen Komponenten in den mehreren Ansichten entsprechen, veranschaulicht 1 auf schematische Weise ein System 100 zum Zusammenbauen einer Vorrichtung (z.B. einer Batterie), die aus mehreren Teilen X besteht. Das System 100 umfasst einen Systemcontroller 102 mit mindestens einem Prozessor 104 und mindestens einem Speicher 106 (oder einem beliebigen geeigneten nicht vorübergehenden computerlesbaren Massenspeichermedium). Der Prozessor 104 kann eine oder verschiedene Kombinationen aus anwendungsspezifischen integrierten Schaltungen (ASICs), elektronischen Schaltungen, und zentralen Verarbeitungseinheiten (z.B. Mikroprozessoren) sein. Der Speicher 106 kann eine oder verschiedene Kombinationen aus einem Festwertspeicher, einem programmierbaren Festwertspeicher, einem Speicher mit wahlfreiem Zugriff, einem Festplattenlaufwerk oder einem beliebigen anderen geeigneten nicht vorübergehenden computerlesbaren Massenspeichermedium sein. Der Prozessor 104 kann von einem Controller ausführbare Anweisungen ausführen, die in dem Speicher 106 gespeichert sind. Die von einem Controller ausführbaren Anweisungen können Software- oder Firmwareprogramme oder -routinen, kombinatorische Logikschaltungen, sequentielle Logikschaltungen, Eingabe/Ausgabe-Schaltungen und -Vorrichtungen, geeignete Signalaufbereitungs- und Pufferschaltungen und andere Komponenten sein, welche die Funktionalität bereitstellen, die nachstehend im Detail beschrieben wird. Es wird in Betracht gezogen, dass der Systemcontroller 102 den Speicher 106 möglicherweise nicht enthält, da sich der Speicher 106 außerhalb des Systemcontrollers 102 befinden kann.With reference to the figures, wherein like reference numerals correspond to like or similar components in the several views, there is illustrated 1 a schematic way a system 100 for assembling a device (eg a battery) that consists of several parts X consists. The system 100 includes a system controller 102 with at least one processor 104 and at least one memory 106 (or any suitable non-transient computer-readable mass storage medium). The processor 104 may be one or several combinations of application specific integrated circuits (ASICs), electronic circuits, and central processing units (eg, microprocessors). The memory 106 may be one or several combinations of a read only memory, a programmable read only memory, a random access memory, a hard disk drive, or any other suitable non-transitory computer readable mass storage medium. The processor 104 can execute executable instructions from a controller stored in the memory 106 are stored. The controller-executable instructions may be software or firmware programs or routines, combinatorial logic circuits, sequential logic circuits, input / output circuits and devices, suitable signal conditioning and buffering circuits, and other components that provide the functionality described in detail below becomes. It is considered that the system controller 102 the memory 106 may not contain, because the memory 106 outside the system controller 102 can be located.

Das System 100 umfasst ferner eine Roboteranordnung 101 mit mindestens einem Roboterarm 108 und mindestens einem Arm-Aktor 110, etwa einem Motor, zum Bewegen des Roboterarms 108. Der Roboterarm 108 kann mindestens eine längliche Stütze 112 umfassen, die mit dem Arm-Aktor 110 wirksam gekoppelt ist. Beispielsweise kann die längliche Stütze 112 mit dem Arm-Aktor 110 mechanisch verbunden sein. Daher kann der Arm-Aktor 110 den Roboterarm 108 betätigen, um die längliche Stütze 112 in drei Freiheitsgraden zu bewegen (z.B. zu drehen oder zu verschieben). Zusätzlich zu der länglichen Stütze 112 umfasst der Roboterarm 108 mindestens ein Greiforgan 114 und ein Gelenk 116, welches die längliche Stütze 112 und das Greiforgan 114 miteinander verbindet. Bei der Verwendung hierin bezeichnet der Begriff „Greiforgan“ ein Werkzeug, das zum Ausführen von Arbeit an einem Teil X in der Lage ist. Als Beispiele ohne Einschränkung kann das Greiforgan 114 ein Greifer, ein Bohrer oder ein Schweißwerkzeug sein. Folglich kann das Greiforgan 114 beispielsweise ein Teil X ergreifen, bohren oder schweißen. Das Gelenk 116 kann weitere drei Freiheitsgrade aufweisen und ermöglicht daher dem Greiforgan 114, sich relativ zu der länglichen Stütze 112 zu bewegen. Obwohl die Zeichnungen einen Arm-Aktor 110 zeigen, kann die Roboteranordnung 101 zwei oder mehr Aktoren 110 enthalten. Beispielsweise kann ein Arm-Aktor 110 die längliche Stütze 112 bewegen und ein weiterer Arm-Aktor 110 kann das Greiforgan 114 relativ zu der länglichen Stütze 112 bewegen.The system 100 further comprises a robot assembly 101 with at least one robotic arm 108 and at least one arm actuator 110 , such as a motor, for moving the robot arm 108 , The robot arm 108 can be at least one elongated prop 112 include that with the arm actuator 110 is effectively coupled. For example, the elongated support 112 with the arm actuator 110 be mechanically connected. Therefore, the arm actuator 110 the robot arm 108 Press to the elongated support 112 in three degrees of freedom to move (eg to rotate or move). In addition to the elongated prop 112 includes the robot arm 108 at least one gripping organ 114 and a joint 116 which is the elongated prop 112 and the gripping organ 114 connects with each other. As used herein, the term "gripping member" refers to a tool that is capable of performing work on a part X be able to. As examples without limitation, the gripping member 114 a gripper, a drill or a welding tool. Consequently, the gripping member 114 for example, a part X grab, drill or weld. The joint 116 can have a further three degrees of freedom and therefore allows the gripping member 114 , relative to the elongated support 112 to move. Although the drawings have an arm-actor 110 show, the robot assembly 101 two or more actuators 110 contain. For example, an arm actuator 110 the elongated support 112 move and another arm actor 110 can the gripping organ 114 relative to the elongated prop 112 move.

Der Roboterarm 108 ist mit dem Arm-Aktor 110 wirksam gekoppelt und daher kann der Arm-Aktor 110 den Roboterarm 108 betätigen. Bei einer Betätigung des Roboterarms 108 kann sich die längliche Stütze 112 bewegen oder das Greiforgan 114 kann eine Aktion an dem Teil X ausführen. Beispielsweise kann der Arm-Aktor 110 den Roboterarm 108 betätigen, um das Teil X mit dem Greiforgan 114 zu ergreifen oder loszulassen. Alternativ oder zusätzlich kann der Arm-Aktor 110 den Roboterarm 108 betätigen, um das Greiforgan 114 relativ zu der länglichen Stütze 112 zu drehen. Der Arm-Aktor 110 kann den Roboterarm 108 in Ansprechen auf eine Eingabe oder einen Befehl von dem Systemcontroller 102 betätigen. Folglich befindet sich der Systemcontroller 102 in Kommunikation, etwa einer elektronischen Kommunikation, mit dem Arm-Aktor 110.The robot arm 108 is with the arm actuator 110 effectively coupled and therefore can the arm actuator 110 the robot arm 108 actuate. Upon actuation of the robot arm 108 can the elongated prop 112 move or the gripping organ 114 can do an action on the part X To run. For example, the arm actuator 110 the robot arm 108 press to the part X with the gripping organ 114 to take or let go. Alternatively or additionally, the arm actuator 110 the robot arm 108 Press to the gripping organ 114 relative to the elongated prop 112 to turn. The arm actor 110 can the robot arm 108 in response to an input or command from the system controller 102 actuate. As a result, the system controller is located 102 in communication, such as electronic communication, with the arm actuator 110 ,

Der Systemcontroller 102 steht außerdem in Kommunikation (z.B. in einer elektronischen Kommunikation) mit einer Fördereranordnung 118. Die Fördereranordnung 118 kann Teil des Systems 100 sein und umfasst mehrere Förderbänder 120, die jeweils ausgestaltet sind, um die Teile X zu transportieren und zu bewegen. Die Fördereranordnung 118 enthält außerdem einen Förderer-Aktor 122, etwa einen Motor, der mit den Förderbändern 120 wirksam gekoppelt ist. Der Förderer-Aktor 122 kann ein geschaltet werden, um die Förderbänder 120 zu bewegen. Neben dem Förderer-Aktor 122 umfasst der Förderer-Aktor 122 Teilesensoren 124, die mit jedem Förderband 120 wirksam verbunden sind. Jeder Teilesensor 124 kann die Anwesenheit oder das Fehlen eines Teils X an einer speziellen Stelle L entlang des Förderbands 120 detektieren. Bei der dargestellten Ausführungsform kann jeder Teilesensor 124 ein fotoelektrischer Sensor sein, etwa ein Sensor mit einer Licht emittierenden Diode (LED-Sensor), der in der Lage ist, die Anwesenheit oder das Fehlen eines Teils X an der speziellen Stelle L entlang des Förderbands 120 zu detektieren. Jeder Teilesensor 124 steht in Kommunikation (z.B. einer elektronischen Kommunikation) mit dem Systemcontroller 102. Folglich kann der Systemcontroller 102 die Anwesenheit oder das Fehlen eines Teils X an der speziellen Stelle L beruhend auf den Eingaben von den Teilesensoren 124 bestimmen.The system controller 102 is also in communication (eg in electronic communication) with a conveyor arrangement 118 , The conveyor arrangement 118 can be part of the system 100 be and includes several conveyor belts 120 , which are each designed to the parts X to transport and move. The conveyor arrangement 118 also contains a conveyor actuator 122 , about a motor, with the conveyor belts 120 is effectively coupled. The conveyor actuator 122 One can be switched to the conveyor belts 120 to move. In addition to the conveyor actuator 122 includes the conveyor actuator 122 parts sensors 124 that with every conveyor belt 120 are effectively connected. Every part sensor 124 can be the presence or absence of a part X in a special place L along the conveyor belt 120 detect. In the illustrated embodiment, each part sensor 124 a photoelectric sensor, such as a sensor with a light-emitting diode (LED sensor), which is capable of the presence or absence of a part X in the special place L along the conveyor belt 120 to detect. Every part sensor 124 is in communication (eg electronic communication) with the system controller 102 , Consequently, the system controller 102 the presence or absence of a part X in the special place L based on the input from the part sensors 124 determine.

Das System 100 umfasst ferner ein visuelles oder optisches System 126 in Kommunikation (z.B. in einer elektronischen Kommunikation) mit dem Systemcontroller 102. Die visuelle Anordnung 126 kann die Position und Orientierung jedes Teils X auf den Förderbändern 120 detektieren. Bei der dargestellten Ausführungsform umfasst die visuelle Anordnung 126 mehrere Kameras 128, die zum Aufnehmen von Bildern der Teile X in der Lage sind. Jede Kamera 128 ist einem Förderband 120 wirksam zugeordnet und kann daher Bilder von den Teilen X auf den entsprechenden Förderbändern 120 aufnehmen. Speziell ist jede Kamera 128 auf mindestens ein Förderband 120 derart ausgerichtet, dass jede Kamera 128 ausgestaltet ist, um ein Bild von mindestens einem der Teile X auf dem entsprechenden Förderband 120 aufzunehmen. Die Kameras 128 stehen in Kommunikation (z.B. in einer elektronischen Kommunikation) mit dem Systemcontroller 102. Daher kann der Systemcontroller 102 die Arbeitsweise aller Kameras 128 koordinieren und er kann die Position und Orientierung der Teile X auf den Förderbändern 120 zumindest teilweise beruhend auf den Bildern bestimmen, die von den Kameras 128 aufgenommen werden. Der Systemcontroller 102 kann wiederum Befehle an die Roboteranordnung 101 zumindest teilweise beruhend auf der Position und der Orientierung der Teile X auf den Förderbändern 120 senden. Die visuelle Anordnung 126 kann eine Lichtquelle 130 enthalten, um die Fördereranordnung 118 zu beleuchten und dadurch die Effekte eines Umgebungslichts oder eines Fehlens desselben zu minimieren, wenn die Kameras 128 ein Bild der Teile X aufnehmen.The system 100 further includes a visual or optical system 126 in communication (eg in an electronic communication) with the system controller 102 , The visual arrangement 126 can change the position and orientation of each part X on the conveyor belts 120 detect. In the illustrated embodiment, the visual arrangement includes 126 several cameras 128 for taking pictures of the parts X are able to. Every camera 128 is a conveyor belt 120 effectively assigned and therefore can take pictures of the parts X on the corresponding conveyor belts 120 take up. Every camera is special 128 on at least one conveyor belt 120 aligned so that every camera 128 is designed to take a picture of at least one of the parts X on the appropriate conveyor belt 120 take. The cameras 128 are in communication (eg in an electronic communication) with the system controller 102 , Therefore, the system controller 102 the operation of all cameras 128 he can coordinate and position the parts X on the conveyor belts 120 based at least in part on the pictures taken by the cameras 128 be recorded. The system controller 102 in turn can send commands to the robot assembly 101 based at least in part on the position and orientation of the parts X on the conveyor belts 120 send. The visual arrangement 126 can be a light source 130 included to the conveyor assembly 118 to illuminate and thereby minimize the effects of an ambient light or a lack thereof when the cameras 128 a picture of the parts X take up.

Um die Qualität der Bilder zu verbessern, die von den Kameras 128 aufgenommen werden, können bestimmte Merkmale der visuellen Anordnung 126 abgestimmt werden, um Fehler zu detektieren, etwa wenn ein Teil X sich nicht wie geplant bewegt, und um das System 100 in Ansprechen auf derartige detektierte Fehler zu steuern. Beispielsweise kann der Lichtstrom der Lichtquelle 130 justiert werden, um die vorstehend erörterten Effekte des Umgebungslichts auf die Kameras 128 zu minimieren. Der Systemcontroller 102 kann so programmiert sein, dass er bestimmte physikalische Merkmale des Teils X identifizieren kann. Es ist nützlich, physikalische Merkmale des Teils X zu identifizieren, die den Systemcontroller 102 beim Bestimmen der Position und Orientierung des Teils X unterstützen können. Darüber hinaus kann die Belichtungszeit der Kameras 128 ebenfalls justiert werden, um die Qualität der Bilder zu verbessern, die von den Kameras 128 aufgenommen werden. Bei der Verwendung hierin bezeichnet der Begriff „Belichtungszeit“ den Zeitbetrag, den eine Blende der Kamera geöffnet ist, um zu ermöglichen, dass Licht auf den fotografischen Sensor der Kamera 128 fällt. Außerdem kann der Kontrastschwellenwert der visuellen Anordnung 126 justiert werden, um die Qualität der Bilder zu verbessern, die von den Kameras 128 aufgenommen werden. Bei der vorliegenden Offenbarung bezeichnet der Begriff „Kontrast“ ein Maß der Differenz bei der Helligkeit zwischen hellen und dunkeln Bereichen in einem Bild und der Begriff „Kontrastschwellenwert“ bezeichnet den minimal wahrnehmbaren Kontrast einer Kamera.To improve the quality of the pictures taken by the cameras 128 can be recorded, certain characteristics of the visual arrangement 126 be tuned to detect errors, such as when a part X not moving as planned, and around the system 100 in response to such detected errors. For example, the luminous flux of the light source 130 adjusted to the above-discussed effects of ambient light on the cameras 128 to minimize. The system controller 102 can be programmed to have certain physical characteristics of the part X can identify. It is useful physical features of the part X to identify the system controller 102 in determining the position and orientation of the part X can support. In addition, the exposure time of the cameras 128 also be adjusted to improve the quality of the pictures taken by the cameras 128 be recorded. As used herein, the term "exposure time" refers to the amount of time an aperture of the camera is opened to allow light to be applied to the photographic sensor of the camera 128 falls. In addition, the contrast threshold of the visual arrangement 126 be adjusted to improve the quality of the pictures taken by the cameras 128 be recorded. In the present disclosure, the term "contrast" refers to a measure of the difference in brightness between light and dark areas in an image, and the term "contrast threshold" refers to the minimum perceived contrast of a camera.

Mit Bezug auf 2 betrifft die vorliegende Offenbarung außerdem ein Verfahren 200 zum Steuern der Roboteranordnung 101. Bei diesem Verfahren 200 können die Kameras 128 ein Bild eines Teils X aufnehmen, während sich der Roboterarm 108 bewegt, um die Zeit zu minimieren, die zum Zusammenbauen der Teile X notwendig ist, um eine Vorrichtung wie etwa eine Batterie vollständig zusammenzubauen. Das Verfahren 200 beginnt mit Schritt 202. In Schritt 202 befiehlt der Systemcontroller 102 dem Roboterarm 108 über den Arm-Aktor 110, eine Startaktion an einem Startteil auszuführen. Beispielsweise kann der Systemcontroller 102 dem Roboterarm 108 befehlen, ein Startteil X aufzuheben oder abzulegen. Alternativ kann der Systemcontroller 102 in Schritt 202 dem Roboterarm 108 befehlen, das Startteil X zu bohren oder zu schweißen. Speziell kann der Systemcontroller 102 befehlen, dass das Greiforgan 114 Arbeit an dem Startteil X ausführt. Während das Greiforgan 114 Arbeit an dem Startteil X ausführt, befindet sich der Roboterarm 108 in einer Startposition. Schritt 202 umfasst, dass der Roboterarm 108 betätigt wird, um eine Startaktion an einem Startteil X in Ansprechen auf einen Befehl von dem Systemcontroller 102 auszuführen. Nach dem Ausführen der Startaktion an dem Startteil X setzt der Systemcontroller 102 in Schritt 202 einen Aktionsmerker F der Startposition auf Aus, was anzeigt, dass die nächste Aktion an der Startposition nicht sofort ausgeführt werden kann, und gleichzeitig ist die Startposition für eine neue Bildaufnahme von dem visuellen Verarbeitungsverfahren 300 (3) verfügbar, wenn die gleiche Position von dem Roboterarm 108 als die zweite Position erneut besucht wird. Als Nächstes geht das Verfahren 200 zu Schritt 204 weiter.Regarding 2 The present disclosure also relates to a method 200 for controlling the robot assembly 101 , In this process 200 can the cameras 128 a picture of a part X while the robot arm is picking up 108 moved to minimize the time needed to assemble the parts X necessary to completely assemble a device such as a battery. The procedure 200 starts with step 202 , In step 202 the system controller commands 102 the robot arm 108 over the arm actuator 110 to perform a startup action on a startup part. For example, the system controller 102 the robot arm 108 command, a start part X to suspend or remove. Alternatively, the system controller 102 in step 202 the robot arm 108 command the start part X to drill or weld. Specifically, the system controller 102 command that the gripping organ 114 Work on the start part X performs. While the gripping organ 114 Work on the start part X executes, is the robot arm 108 in a starting position. step 202 includes that robot arm 108 is pressed to a start action on a start part X in response to a command from the system controller 102 perform. After running the startup action on the startup part X sets the system controller 102 in step 202 an action marker F the start position is off, indicating that the next action at the start position can not be executed immediately, and at the same time, the starting position for a new image capture is from the visual processing method 300 ( 3 ) available when the same position of the robot arm 108 as the second Position is visited again. Next is the procedure 200 to step 204 further.

In Schritt 204 befiehlt der Systemcontroller 102 dem Roboterarm 108, sich von einer Startposition zu einer ersten Position hin zu bewegen. Zu diesem Zweck kann der Systemcontroller 102 ein Befehlssignal (oder einen Bewegungsbefehl) an den Arm-Aktor 110 senden. In Ansprechen auf dieses Befehlssignal wird der Arm-Aktor 110 betätigt, um den Roboterarm 108 von der Startposition zu der ersten Position hin zu bewegen. Daher umfasst Schritt 204, dass der Roboterarm 108 von der Startposition zu einer ersten Position hin bewegt wird. Als Nächstes geht das Verfahren 200 zu Schritt 206 weiter.In step 204 the system controller commands 102 the robot arm 108 to move from a starting position to a first position. For this purpose, the system controller 102 a command signal (or a move command) to the arm actuator 110 send. In response to this command signal, the arm actuator becomes 110 pressed to the robot arm 108 to move from the starting position to the first position. Therefore, step includes 204 that the robot arm 108 is moved from the start position to a first position. Next is the procedure 200 to step 206 further.

In Schritt 206 stellt der Systemcontroller 102 fest, ob das erste Teil X1 bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die erste Position erreicht. Die erste Aktion kann die gleiche wie die vorherige Aktion sein oder sich davon unterscheiden. Beispielsweise kann die erste Aktion das Aufheben des ersten Teils X1, das Loslassen des ersten Teils X1, das Bohren des ersten Teils X1, das Schweißen des ersten Teils X1 oder eine beliebige andere Aktion umfassen, die von dem Greiforgan 114 an dem ersten Teil X1 ausgeführt werden kann.In step 206 represents the system controller 102 Determine if the first part X1 will be ready, a first action by the robot arm 108 to be subjected as soon as the robot arm 108 reached the first position. The first action may be the same as or different from the previous one. For example, the first action may be to cancel the first part X1 , letting go of the first part X1 , drilling the first part X1 , the welding of the first part X1 or any other action taken by the end effector 114 at the first part X1 can be executed.

Um festzustellen, ob das erste Teil X1 bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die erste Position erreicht, stützt sich der Systemcontroller 102 auf das visuelle oder optische Verarbeitungsverfahren oder die Teilroutine 300 (3), die nachstehend im Detail beschrieben wird. Das visuelle Verarbeitungsverfahren 300 (3) kann kontinuierlich im Hintergrund ablaufen, während der Systemcontroller 102 das Verfahren 200 ausführt. Durch Verwenden des visuellen Verarbeitungsverfahrens 300 (3) kann der Systemcontroller 102 über den Aktionsmerker F der ersten Position feststellen, ob das erste Teil X1 bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, wenn der Roboterarm 108 die erste Position erreicht, zumindest teilweise auf der Grundlage eines Versatzes der Aktionsposition. In der vorliegenden Offenbarung bedeutet der Begriff „Versatz der Aktionsposition“ die Positionsabweichung eines Teils X1 von der vorgesehenen ersten Position des Roboterarms 108, die in dem Speicher 106 gespeichert ist und für den Prozessor 104 sowie für den Controller 102 zugänglich ist. Folglich bezeichnet die „Positionsabweichung eines Teils von einer vorgesehenen Position“ die Distanz von der Stelle eines Teils zu einer vorgesehenen Stelle, die im Speicher 106 gespeichert ist. Der Versatz der Aktionsposition kann bestimmt werden, indem das visuelle Verarbeitungsverfahren 300 (3) ausgeführt wird und das visuelle Verarbeitungsverfahren 300 berücksichtigt die Position und Orientierung eines Teils X (z.B. des ersten Teils X1 oder des zweiten Teils X2), wenn sich der Roboterarm 108 zu der Aktionsposition hin bewegt. Im Schritt 206 stellt der Systemcontroller 102 beruhend auf dem Versatz der Aktionsposition des ersten Teils X1 fest, ob das erste Teil X1 bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die erste Position erreicht. Mit anderen Worten stellt der Systemcontroller 102 beruhend auf der Positionsabweichung des ersten Teils X1 in Bezug auf die vorgesehene erste Position des Roboterarms 108 fest, ob das erste Teil X1 bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die erste Position erreicht. Die Positionsabweichung des ersten Teils X1 mit Bezug auf die vorgesehene erste Position des Roboterarms 108 beruht zumindest teilweise auf der Position und Orientierung des ersten Teils X1 zu dem Zeitpunkt, an dem die Kamera 108 ein Bild des ersten Teils X1 aufgenommen hat. Wie vorstehend erörtert wurde, nimmt die Kamera 128 ein Bild des ersten Teils X1 auf und verarbeitet dieses, während sich der Roboterarm 108 zu der ersten Position hin bewegt.To determine if the first part X1 will be ready, a first action by the robot arm 108 to be subjected as soon as the robot arm 108 reaches the first position, the system controller is supported 102 on the visual or optical processing method or subroutine 300 ( 3 ), which will be described in detail below. The visual processing method 300 ( 3 ) can run continuously in the background while the system controller 102 the procedure 200 performs. By using the visual processing method 300 ( 3 ) may be the system controller 102 Use the action flag F of the first position to determine if the first part X1 will be ready, a first action by the robot arm 108 to be subjected to when the robot arm 108 reaches the first position, at least in part, based on an offset of the action position. In the present disclosure, the term "offset of the action position" means the positional deviation of a part X1 from the intended first position of the robot arm 108 that in the store 106 is stored and for the processor 104 as well as for the controller 102 is accessible. Thus, the "positional deviation of a part from a designated position" refers to the distance from the location of a part to a designated location in the memory 106 is stored. The offset of the action position can be determined by the visual processing method 300 ( 3 ) and the visual processing method 300 takes into account the position and orientation of a part X (eg the first part X1 or the second part X2 ) when the robot arm 108 moved to the action position. In step 206 represents the system controller 102 based on the offset of the action position of the first part X1 Determine if the first part X1 will be ready, a first action by the robot arm 108 to be subjected as soon as the robot arm 108 reached the first position. In other words, the system controller 102 based on the positional deviation of the first part X1 with respect to the intended first position of the robot arm 108 Determine if the first part X1 will be ready, a first action by the robot arm 108 to be subjected as soon as the robot arm 108 reached the first position. The position deviation of the first part X1 with respect to the intended first position of the robot arm 108 is based, at least in part, on the position and orientation of the first part X1 at the time the camera is turned on 108 a picture of the first part X1 has recorded. As discussed above, the camera takes 128 a picture of the first part X1 and process this while the robot arm 108 moved to the first position.

Wenn der Systemcontroller 102 feststellt, dass das erste Teil X1 nicht bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, wenn der Roboterarm 108 die erste Position erreicht, führt der Systemcontroller 102 Schritt 206 (einschließlich des visuellen Verarbeitungsverfahrens 300) erneut aus, bis der Systemcontroller 102 feststellt, dass das erste Teil X1 bereit sein wird, der ersten Aktion durch den Roboterarm 108 unterzogen zu werden, wenn der Roboterarm 108 die erste Position erreicht. Wenn das erste Teil X1 speziell nicht innerhalb der Positionsabweichung (d.h. des Versatzes der Aktionsposition) positioniert sein wird, welche unter Verwendung des visuellen Verarbeitungsverfahrens 300 bestimmt wurde, dann führt das Verfahren 200 Schritt 206 erneut aus. Bevor der Systemcontroller 102 Schritt 206 erneut ausführt, kann er das visuelle Verarbeitungsverfahren 300 und den Roboterarm 108 anweisen, einen vorbestimmten Zeitbetrag lang zu stoppen. Wenn das erste Teil X1 hingegen bereit sein wird, einer ersten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die erste Position erreicht, dann geht das Verfahren 200 zu Schritt 208 weiter.When the system controller 102 determines that the first part X1 will not be ready for a first action by the robotic arm 108 to be subjected to when the robot arm 108 reaches the first position, leads the system controller 102 step 206 (including the visual processing method 300 ) again until the system controller 102 determines that the first part X1 Will be ready, the first action by the robot arm 108 to be subjected to when the robot arm 108 reached the first position. If the first part X1 specifically, will not be positioned within the positional deviation (ie, the offset of the action position) using the visual processing method 300 was determined, then performs the procedure 200 step 206 again off. Before the system controller 102 step 206 again, he can use the visual processing method 300 and the robot arm 108 instruct to stop for a predetermined amount of time. If the first part X1 however, will be ready for a first action by the robotic arm 108 to be subjected as soon as the robot arm 108 reaches the first position, then goes the procedure 200 to step 208 further.

Bei Schritt 208 beginnt der Systemcontroller 102 mit der Ausführung des visuellen Verarbeitungsverfahrens 300 (3) in Verbindung mit einem Prozess des Bewegens des Roboterarms 108 von der ersten Position hin zu einer zweiten Position. Nach der Ausführung von Schritt 208 geht das Verfahren 200 zu Schritt 210 weiter.At step 208 the system controller starts 102 with the execution of the visual processing method 300 ( 3 ) in connection with a process of moving the robot arm 108 from the first position to a second position. After the execution of step 208 goes the procedure 200 to step 210 further.

Bei Schritt 210 betätigt der Arm-Aktor 110 den Roboterarm 108, um die erste Aktion an dem ersten Teil X1 auszuführen, wenn der Roboterarm 108 die erste Position erreicht. Daher umfasst Schritt 210, dass eine erste Aktion an dem ersten Teil unter Verwendung des Roboterarms 108 nur ausgeführt wird, wenn sich das erste Teil X1 innerhalb der Positionsabweichung von der ersten Position befindet. Wie vorstehend erörtert wurde, führt der Roboterarm 108 die erste Aktion an dem ersten Teil X1 in Ansprechen auf einen früheren Befehl von dem Systemcontroller 102 aus. Die erste Aktion kann umfassen, dass das erste Teil X1 aufgenommen wird, dass das erste Teil X1 losgelassen wird, dass das erste Teil X1 gebohrt wird, dass das erste Teil X1 geschweißt wird, oder eine beliebige andere Aktion, die von dem Greiforgan 114 ausgeführt werden kann. Nachdem der Roboterarm 108 die erste Aktion an dem ersten Teil X1 ausgeführt hat, setzt der Systemcontroller 102 den Aktionsmerker F der ersten Position auf AUS, was anzeigt, dass die nächste Aktion nicht sofort an der ersten Position ausgeführt werden kann und gleichzeitig, dass die erste Position für eine neue Bildaufnahme von dem visuellen Verarbeitungsverfahren 300 (3) verfügbar ist, wenn die gleiche Position von dem Roboterarm 108 erneut besucht werden wird. Nach dem Ausführen von Schritt 210 erhöht das Verfahren 200 bei Schritt 212 den Teilezähler um Eins und kehrt sofort zu Schritt 204 zurück. Dieses Mal jedoch befiehlt der Systemcontroller 102 in Schritt 204 dem Roboterarm 108, sich von der ersten Position oder der neu vorgesehenen Startposition zu einer zweiten Position zu bewegen, welche die neue erste Position wird. Die restlichen Schritte werden wiederholt, wobei berücksichtigt wird, dass sich der Roboterarm 108 zu der neuen ersten Position hin bewegt, und es kann sein, dass der Roboterarm 108 eine Aktion an einem zweiten Teil oder einem neuen ersten Teil ausführen muss, wenn der Roboterarm 108 die zweite oder die neue erste Position erreicht.At step 210 actuates the arm actuator 110 the robot arm 108 to the first action on the first part X1 perform when the robot arm 108 reached the first position. Therefore, step includes 210 in that a first action on the first part is made using the robotic arm 108 only executed when the first part X1 within the position deviation from the first position. As discussed above, the robotic arm guides 108 the first action on the first part X1 in response to a previous command from the system controller 102 out. The first action may include that the first part X1 is included that the first part X1 Let go of that first part X1 is drilled that the first part X1 is welded, or any other action, by the gripping organ 114 can be executed. After the robotic arm 108 the first action on the first part X1 has executed, sets the system controller 102 the action flag F of the first position to OFF, indicating that the next action can not be performed immediately at the first position and, at the same time, that the first position for a new image capture from the visual processing method 300 ( 3 ) is available when the same position of the robot arm 108 will be visited again. After performing step 210 increases the procedure 200 at step 212 the part counter by one and immediately returns to step 204 back. This time, however, the system controller commands 102 in step 204 the robot arm 108 to move from the first position or the newly provided start position to a second position which becomes the new first position. The remaining steps are repeated, taking into account that the robot arm 108 moved to the new first position, and it may be that the robot arm 108 must perform an action on a second part or a new first part when the robot arm 108 reached the second or the new first position.

Durch die Verwendung des Verfahrens 200 nimmt das System 100 ein Bild eines Teils X auf (z.B. des ersten Teils X1 oder des zweiten Teils X2) während sich der Roboterarm 108 zu einer ersten Position hin bewegt, statt darauf zu warten, dass der Roboterarm 108 die zweite Position erreicht, wodurch die Zykluszeit des Fertigungsprozesses minimiert wird. Unter Verwendung des aufgenommenen Bilds des Teils X kann der Systemcontroller 102 feststellen, ob das zweite Teil X2 bereit sein wird, einer zweiten Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die zweite Position erreicht. Diese Feststellung findet jedoch statt, bevor der Roboterarm 108 die zweite Position erreicht. Daher kann das Verfahren 200 auch als ein vorausschauendes Verfahren bezeichnet werden. Während der Verfahren 200 und 300 bewegen die Förderbänder 120 kontinuierlich die Teile X (z.B. das erste und zweite Teil X1, X2) relativ zu dem Roboterarm 108. Es wird daher in Betracht gezogen, dass das Verfahren 200 außerdem den Schritt des Bewegens der Teile X relativ zu dem Roboterarm 108 unter Verwendung eines oder mehrerer Förderbänder 120 umfassen kann.By using the method 200 takes the system 100 a picture of a part X on (eg the first part X1 or the second part X2 ) while the robot arm 108 moved to a first position instead of waiting for the robot arm 108 reaches the second position, minimizing the cycle time of the manufacturing process. Using the captured image of the part X can the system controller 102 determine if the second part X2 Will be ready for a second action by the robot arm 108 to be subjected as soon as the robot arm 108 reached the second position. However, this finding takes place before the robotic arm 108 reached the second position. Therefore, the process can 200 also be referred to as a proactive method. During the procedure 200 and 300 move the conveyor belts 120 continuously the parts X (eg the first and second part X1 . X2 ) relative to the robot arm 108 , It is therefore considered that the procedure 200 also the step of moving the parts X relative to the robot arm 108 using one or more conveyor belts 120 may include.

Mit Bezug auf 3 kann, wie vorstehend erörtert wurde, der Systemcontroller 102 ein visuelles Verarbeitungsverfahren 300 ausführen, um festzustellen, ob das Teil X bereit sein wird, einer Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die vorgesehene Position erreicht. Das visuelle Verarbeitungsverfahren 300 wird kontinuierlich im Hintergrund ausgeführt, während das Verfahren 200 ausgeführt wird.Regarding 3 As discussed above, the system controller may be 102 a visual processing method 300 Run to see if that part X Will be ready for action by the robotic arm 108 to be subjected as soon as the robot arm 108 reached the intended position. The visual processing method 300 is continuously running in the background while the process 200 is performed.

Das visuelle Verarbeitungsverfahren 300 beginnt mit Schritt 302. In Schritt 302 bestimmt der Systemcontroller 102 über den Teilezähler in Schritt 212, welches Teil X (z.B. das erste Teil X1 oder das zweite Teil X2) einer Aktion durch den Roboterarm 108 unterzogen werden soll. Als Beispiele ohne Einschränkung bestimmt der Systemcontroller 102 in Schritt 302, welches Teil X von dem Roboterarm 108 ergriffen, losgelassen, gebohrt oder geschweißt werden soll. Das Teil X, das einer Aktion durch den Roboterarm 108 unterzogen werden soll, kann als das identifizierte Teil bezeichnet werden. Als Nächstes fährt der Systemcontroller 102 mit Schritt 304 fort.The visual processing method 300 starts with step 302 , In step 302 the system controller determines 102 via the parts counter in step 212 , which part X (eg the first part X1 or the second part X2 ) action by the robot arm 108 should be subjected. As examples without limitation, the system controller determines 102 in step 302 , which part X from the robot arm 108 grabbed, released, drilled or welded. The part X , an action by the robotic arm 108 may be referred to as the identified part. Next is the system controller 102 with step 304 continued.

In Schritt 304 stellt der Systemcontroller 102 fest, ob die Kamera 128, die ein Bild des Teils X aufnehmen kann, das in Schritt 302 identifiziert wurde (d.h. das identifizierte Teil) zur Aufnahme eines Bilds (oder eines Videos) des identifizierten Teils verfügbar ist. Wenn die Kamera 128 beispielsweise kein Bild des identifizierten Teils aufnehmen kann, weil sie gerade ein Bild eines anderen Teils aufnimmt oder eine Aktion an der Kameraposition stattfindet, der Aktionsmerker F im EIN-Status ist, dann stellt der Systemcontroller 102 fest, dass die Kamera 128 nicht verfügbar ist, und der Schritt 304 wird wiederholt, bis die Kamera 128 verfügbar ist. Wenn die Kamera 128 verfügbar ist, der Aktionsmerker F im AUS-Status ist, dann fährt das Verfahren 300 mit Schritt 306 fort.In step 304 represents the system controller 102 determine if the camera 128 taking a picture of the part X can record that in step 302 has been identified (ie, the identified part) available to capture an image (or video) of the identified part. If the camera 128 for example, can not take an image of the identified part because it is currently taking an image of another part or an action is taking place at the camera position, the action flag F is in the ON state, then sets the system controller 102 notice that the camera 128 is not available, and the step 304 is repeated until the camera 128 is available. If the camera 128 is available, the action marker F is in the OFF state, then the procedure continues 300 with step 306 continued.

In Schritt 306 stellt der Systemcontroller 102 fest, ob sich das identifizierte Teil in einer Position befindet, bei der ein Bild dieses Teils aufgenommen werden kann (d.h. die vorgesehene Teileposition). Diese Feststellung kann zumindest teilweise auf einer Eingabe von mindestens einem der Teilesensoren 124 beruhen. Wenn sich das identifizierte Teil nicht in der vorgesehenen Teileposition befindet und die Kamera 128 daher kein Bild des identifizierten Teils aufnehmen kann, dann wiederholt das Verfahren 300 Schritt 306. Zu diesem Zeitpunkt fährt das Förderband 120 fort, das identifizierte Teil relativ zu dem Roboterarm 108 zu bewegen. Wenn sich das identifizierte Teil in der vorgesehenen Teileposition befindet und die Kamera 128 daher ein Bild des identifizierten Teils aufnehmen kann, dann geht das Verfahren 300 zu Schritt 308 weiter.In step 306 represents the system controller 102 determines whether the identified part is in a position to capture an image of that part (ie the intended part position). This determination may be based, at least in part, on an input from at least one of the parts sensors 124 based. If the identified part is not in the intended part position and the camera 128 therefore, can not take an image of the identified part, then the procedure repeats 300 step 306 , At this time the conveyor belt is moving 120 the identified part relative to the robotic arm 108 to move. When the identified part is in the intended part position and the camera 128 therefore a picture of can pick up the identified part, then the procedure goes 300 to step 308 further.

In Schritt 308 empfängt der Systemcontroller 102 ein Bild des identifizierten Teils, das zuvor von der Kamera 128 aufgenommen wurde. Wie vorstehend mit Bezug auf Schritt 206 erörtert wurde, kann die Kamera 128 ein Bild des identifizierten Teils X (z.B. des ersten Teils X1 oder des zweiten Teils X2) aufnehmen, während sich der Roboterarm 108 relativ zu den Förderbändern 20 bewegt. Nach dem Empfangen des Bilds des identifizierten Teils X geht das Verfahren 300 zu Schritt 310 weiter.In step 308 the system controller receives 102 an image of the identified part, previously from the camera 128 has been recorded. As above with reference to step 206 The camera can be discussed 128 an image of the identified part X (eg the first part X1 or the second part X2 ) while the robot arm 108 relative to the conveyor belts 20 emotional. After receiving the image of the identified part X goes the procedure 300 to step 310 further.

In Schritt 310 bestimmt der Systemcontroller 102 einen Versatz der Aktionsposition. Wie hier verwendet wird, bedeutet der Begriff „Versatz der Aktionsposition“ die Positionsabweichung des identifizierten Teils (z.B. des ersten Teils X1 oder des zweiten Teils X2) von seiner vorgesehenen Position (z.B. einer zweiten Position) des Roboterarms 108. Speziell kann der Systemcontroller 102 den Versatz der Aktionsposition (d.h. die Positionsabweichung von der vorgesehenen Position des Roboterarms 108) zumindest teilweise beruhend auf der Eingabe von den Informationen bestimmen, die aus dem aufgenommenen Bild des identifizierten Teils X (z.B. des ersten Teils X1 oder des zweiten Teils X2) gewonnen wurden. Dann fährt das Verfahren 300 mit Schritt 312 fort.In step 310 the system controller determines 102 an offset of the action position. As used herein, the term "offset of the action position" means the positional deviation of the identified part (eg, the first part X1 or the second part X2 ) from its intended position (eg, a second position) of the robotic arm 108 , Specifically, the system controller 102 the offset of the action position (ie the position deviation from the intended position of the robot arm 108 ) based at least in part on the input of the information obtained from the captured image of the identified part X (eg the first part X1 or the second part X2 ) were won. Then the procedure continues 300 with step 312 continued.

In Schritt 312 setzt der Systemcontroller 102 den Aktionsmerker F zumindest teilweise beruhend auf einem Versatz der Aktionsposition auf EIN, was anzeigt, dass das Teil X bereit sein wird, einer Aktion durch den Roboterarm 108 unterzogen zu werden, wenn der Roboterarm 108 die vorgesehene Position erreicht. Sowohl der Aktionsmerker F als auch der bestimmte Versatz der Aktionsposition werden an die andere Routine (d.h. an das Verfahren 200) übermittelt, so dass der Systemcontroller 102 feststellen kann, ob das identifizierte Teil X bereit sein wird, einer Aktion durch den Roboterarm 108 unterzogen zu werden, sobald der Roboterarm 108 die vorgesehene Position in Schritt 208 erreicht.In step 312 sets the system controller 102 the action marker F based at least in part on an offset of the action position to ON, indicating that the part X Will be ready for action by the robotic arm 108 to be subjected to when the robot arm 108 reached the intended position. Both the action marker F as well as the specific offset of the action position are sent to the other routine (ie to the procedure 200 ), so that the system controller 102 can determine if the identified part X Will be ready for action by the robotic arm 108 to be subjected as soon as the robot arm 108 the intended position in step 208 reached.

Mit Bezug auf 4 betrifft die vorliegende Offenbarung auch ein Verfahren 400 zur Bestimmung, wie viele vorausschauende Aktionen ausgeführt werden können, während sich der Roboterarm 108 von einer ersten Position zu einer zweiten Position bewegt. Bei der Verwendung hierin bedeutet der Begriff „vorausschauende Aktion“ das Aufnehmen eines Bilds eines Teils X (z.B. des ersten Teils X1 oder des zweiten Teils X2), während sich der Roboterarm 108 bewegt und bevor der Roboterarm 108 seine Zielposition erreicht. Mit anderen Worten kann das Verfahren 400 verwendet werden, um festzustellen, wie viele Bilder von einem oder mehreren Teilen von den Kameras 128 aufgenommen werden können, während sich der Roboterarm 108 von einer ersten Position zu der zweiten Position bewegt. Das Verfahren 400 kann daher als ein vorausschauendes Optimierungsverfahren bezeichnet werden und kann beispielsweise als Teil eines Stapelprozesses verwendet werden. Bei der Verwendung hierin bezeichnet der Begriff „Stapelprozess“ einen Prozess, bei dem mehrere Teile aufeinander gestapelt werden. Das Verfahren 400 beginnt bei Schritt 402.Regarding 4 The present disclosure also relates to a method 400 to determine how many predictive actions can be performed while the robot arm 108 moved from a first position to a second position. As used herein, the term "anticipatory action" means capturing an image of a part X (eg the first part X1 or the second part X2 ), while the robot arm 108 moved and before the robotic arm 108 reached his target position. In other words, the process can 400 used to determine how many pictures of one or more parts of the cameras 128 can be recorded while the robot arm 108 moved from a first position to the second position. The procedure 400 Therefore, it may be referred to as a predictive optimization method, and may be used as part of a batch process, for example. As used herein, the term "batch process" refers to a process of stacking multiple parts together. The procedure 400 starts at step 402 ,

In Schritt 402 bestimmt der Systemcontroller 102 die Zeitspanne, die der Roboterarm 108 benötigt, um eine erste Aktion (z.B. Aufnehmen, Loslassen, Bohren, Schweißen) an einem ersten Teil X1 auszuführen (d.h. die Zeit der ersten Aktion). Folglich bedeutet der Begriff „Zeit der ersten Aktion“ die Zeitspanne, die benötigt wird, dass der Roboterarm 108 die erste Aktion an einem ersten Teil X1 ausführt. Die Zeit der ersten Aktion kann in dem Speicher 106 des Systemcontrollers 102 gespeichert werden. Schritt 402 umfasst, dass die Zeitspanne bestimmt wird, die von dem Roboterarm 108 benötigt wird, um die erste Aktion an dem ersten Teil X1 abzuschließen. Dann geht das Verfahren 400 zu Schritt 404 weiter.In step 402 the system controller determines 102 the time span that the robot arm 108 needed to take a first action (eg picking up, releasing, drilling, welding) on a first part X1 execute (ie the time of the first action). Consequently, the term "time of the first action" means the time required for the robot arm 108 the first action on a first part X1 performs. The time of the first action may be in the memory 106 of the system controller 102 get saved. step 402 comprising determining the period of time required by the robotic arm 108 needed to get the first action on the first part X1 complete. Then the procedure goes 400 to step 404 further.

In Schritt 404 bestimmt der Systemcontroller 102 die Zeitspanne, die der Roboterarm 108 benötigt, um von der ersten Position zu der zweiten Position entlang eines programmierten Wegs zu fahren, während er sich mit einer konstanten oder variablen Geschwindigkeit bewegt (d.h. die Zeit des Verfahrwegs). Der Begriff „Zeit des Verfahrwegs“ bedeutet die Zeitspanne, die der Roboterarm 108 benötigt, um von der ersten Position zu der zweiten Position zu fahren, während er sich entlang eines programmierten Wegs mit einer konstanten oder variablen Geschwindigkeit bewegt. Schritt 404 umfasst, dass eine Zeitspanne bestimmt wird, die der Roboterarm 108 benötigt, um von der ersten Position zu der zweiten Position zu fahren. Die Zeit des Verfahrwegs kann in dem Speicher 106 des Systemcontrollers 102 gespeichert werden. Nachdem der Systemcontroller 102 die Zeit des Verfahrwegs bestimmt hat, geht das Verfahren 400 zu Schritt 406 weiter.In step 404 the system controller determines 102 the time span that the robot arm 108 required to travel from the first position to the second position along a programmed path while moving at a constant or variable speed (ie the time of the travel). The term "travel time" means the period of time that the robot arm 108 required to travel from the first position to the second position while moving along a programmed path at a constant or variable speed. step 404 includes determining a period of time that the robotic arm 108 needed to drive from the first position to the second position. The time of travel can be in the memory 106 of the system controller 102 get saved. After the system controller 102 has determined the time of travel, the procedure goes 400 to step 406 further.

In Schritt 406 bestimmt der Systemcontroller 102 die Zeitspanne, die der Roboterarm 108 benötigt, um eine zweite Aktion (z.B. Aufheben, Loslassen, Bohren, Schweißen) an einem zweiten Teil X2 auszuführen (d.h. die Zeit der zweiten Aktion). Folglich bedeutet der Begriff „Zeit der zweiten Aktion“ die Zeitspanne, die der Roboterarm 108 benötigt, um die zweite Aktion an dem zweiten Teil X2 auszuführen. Schritt 406 umfasst, dass die Zeitspanne bestimmt wird, die der Roboterarm 108 benötigt, um die zweite Aktion an dem zweiten Teil abzuschließen. Die Zeit der zweiten Aktion kann in dem Speicher 106 des Systemcontrollers 102 gespeichert werden. Dann geht das Verfahren 400 zu Schritt 408 weiter.In step 406 the system controller determines 102 the time span that the robot arm 108 needed to do a second action (eg picking up, releasing, drilling, welding) on a second part X2 execute (ie the time of the second action). Consequently, the term "time of the second action" means the period of time that the robot arm 108 needed to do the second action on the second part X2 perform. step 406 includes determining the period of time that the robotic arm 108 needed to complete the second action on the second part. The time of the second action may be in the memory 106 of the system controller 102 get saved. Then the procedure goes 400 to step 408 further.

In Schritt 408 bestimmt der Systemcontroller 102 die Gesamtanzahl sich wiederholender Bewegungssequenzen, die der Roboterarm 108 ausführen muss, um einen Zyklus in Übereinstimmung mit den Anweisungen abzuschließen, die in dem Speicher 106 gespeichert sind (d.h. die Gesamtanzahl sich wiederholender Bewegungssequenzen). Bei der vorliegenden Offenbarung bezeichnet der Begriff „Gesamtanzahl sich wiederholender Bewegungssequenzen“ die Gesamtanzahl sich wiederholender Bewegungssequenzen, die der Roboterarm 108 ausführen muss, um einen Zyklus abzuschließen. Die Gesamtanzahl sich wiederholender Bewegungssequenzen kann in dem Speicher 106 gespeichert werden. Als Nächstes fährt das Verfahren 400 mit Schritt 410 fort. In step 408 the system controller determines 102 the total number of repetitive motion sequences that the robot arm 108 must execute to complete a cycle in accordance with the instructions contained in the memory 106 stored (ie the total number of repetitive motion sequences). In the present disclosure, the term "total number of repeating motion sequences" refers to the total number of repeating motion sequences that the robot arm 108 to complete a cycle. The total number of repeating motion sequences may be in the memory 106 get saved. Next is the procedure 400 with step 410 continued.

In Schritt 410 bestimmt der Systemcontroller 102 die Gesamtanzahl von vorausschauenden Aktionen, die benötigt wird, um einen Zyklus in Übereinstimmung mit den Anweisungen abzuschließen, die in dem Speicher 106 gespeichert sind (d.h. die Gesamtanzahl von vorausschauenden Aktionen). Wie vorstehend erörtert wurde, bedeutet der Begriff „vorausschauende Aktion“ das Aufnehmen eines Bilds eines Teils X (z.B. des ersten Teils X1 oder des zweiten Teils X2), während sich der Roboterarm 108 bewegt. Folglich umfasst Schritt 410, dass die Gesamtanzahl der Bilder bestimmt wird, die benötigt werden, um den Zyklus abzuschließen. Speziell kann der Systemcontroller 102 die Gesamtanzahl der vorausschauenden Aktionen bestimmen, indem er die Gesamtanzahl der vorausschauenden Aktionen gleich der Gesamtanzahl sich wiederholender Bewegungssequenzen setzt, die in Schritt 408 bestimmt wurde. Wenn ein Zyklus beispielsweise fünf jeweilige Bewegungssequenzen des Roboterarms 108 benötigt, dann bestimmt der Systemcontroller 102, dass die Gesamtanzahl an vorausschauenden Aktionen ebenfalls fünf ist. Als Nächstes geht das Verfahren 400 zu Schritt 412 weiter.In step 410 the system controller determines 102 the total number of predictive actions required to complete a cycle in accordance with the instructions contained in the memory 106 stored (ie the total number of predictive actions). As discussed above, the term "anticipatory action" means taking an image of a part X (eg the first part X1 or the second part X2 ), while the robot arm 108 emotional. Consequently, step includes 410 in that the total number of images needed to complete the cycle is determined. Specifically, the system controller 102 determine the total number of predictive actions by setting the total number of predictive actions equal to the total number of repetitive motion sequences generated in step 408 was determined. For example, if one cycle has five respective motion sequences of the robotic arm 108 needed, then determines the system controller 102 in that the total number of predictive actions is also five. Next is the procedure 400 to step 412 further.

In Schritt 412 bestimmt der Systemcontroller 102 die Anzahl der möglichen vorausschauenden Aktionen, während der Roboterarm 108 von der ersten Position zu der zweiten Position fährt (d.h. die Anzahl der möglichen vorausschauenden Aktionen entlang eines Armfahrwegs). Bei der Verwendung hierin meint der Begriff „Armfahrweg“ den Weg, den der Roboterarm 108 durchfährt, wenn er sich von einer ersten Position zu einer zweiten Position bewegt. Zur Bestimmung der Anzahl der möglichen vorausschauenden Aktionen entlang des Armfahrwegs subtrahiert der Systemcontroller 102 eins von dem Wert der Gesamtanzahl der vorausschauenden Aktionen, der in Schritt 410 bestimmt wurde. Wenn die Gesamtanzahl der vorausschauenden Aktionen (die in Schritt 410 bestimmt wurde) beispielsweise fünf ist, dann subtrahiert der Systemcontroller 102 eins von fünf und bestimmt, dass die Gesamtanzahl der möglichen vorausschauenden Aktionen, während der Roboterarm 108 von der ersten Position zu der zweiten Position fährt, vier ist. Nach dem Bestimmen der Anzahl der möglichen vorausschauenden Aktionen fährt das Verfahren 400 mit Schritt 414 fort.In step 412 the system controller determines 102 the number of possible predictive actions while the robot arm 108 from the first position to the second position (ie the number of possible predictive actions along an arm travel). As used herein, the term "arm travel" means the path taken by the robotic arm 108 passes through when moving from a first position to a second position. To determine the number of possible predictive actions along the arm travel, the system controller subtracts 102 one of the value of the total number of predictive actions in step 410 was determined. If the total number of predictive actions (the ones in step 410 was determined), for example, is five, then subtracts the system controller 102 one in five and determines that the total number of possible predictive actions while the robot arm 108 from the first position to the second position is four. After determining the number of possible predictive actions, the procedure continues 400 with step 414 continued.

In Schritt 414 stellt der Systemcontroller 102 fest, ob die Anzahl der möglichen vorausschauenden Aktionen entlang des Armfahrwegs null ist. Wenn die Anzahl der möglichen vorausschauenden Aktionen entlang des Armfahrwegs null ist, fährt das Verfahren 400 mit Schritt 416 fort, bei dem der Systemcontroller 102 die Anzahl der möglichen vorausschauenden Aktionen auf eins verstellt. Nach dem Verstellen der Anzahl der möglichen vorausschauenden Aktionen auf eins geht das Verfahren 400 zu Schritt 418 weiter. Wenn die Anzahl der möglichen vorausschauenden Aktionen andererseits nicht null ist, dann geht das Verfahren 400 direkt zu Schritt 418 weiter.In step 414 represents the system controller 102 determines if the number of possible predictive actions along the arm travel is zero. If the number of possible predictive actions along the arm travel is zero, the procedure continues 400 with step 416 continues, where the system controller 102 set the number of possible predictive actions to one. After changing the number of possible predictive actions to one, the procedure goes 400 to step 418 further. On the other hand, if the number of possible predictive actions is not zero, then the procedure goes 400 directly to step 418 further.

In Schritt 418 bestimmt der Systemcontroller 102 die Zeitspanne, welche die Kameras 128 benötigen, um alle möglichen vorausschauenden Aktionen auszuführen, zumindest teilweise beruhend auf der Anzahl der möglichen vorausschauenden Aktionen, die bei Schritt 412 oder 416 bestimmt wurde (d.h. die Gesamtzeit der möglichen vorausschauenden Aktionen). Die „Gesamtzeit der möglichen vorausschauenden Aktionen“ bezeichnet die Zeit, welche die Kameras 128 benötigen, um alle möglichen vorausschauenden Aktionen (d.h. das Aufnehmen von Teilebildern) auszuführen, die in Schritt 412 oder 416 bestimmt wurden. Als Nächstes fährt der Systemcontroller 102 mit Schritt 420 fort.In step 418 the system controller determines 102 the amount of time the cameras take 128 require to perform all possible predictive actions based at least in part on the number of possible predictive actions that are involved in step 412 or 416 has been determined (ie the total time of possible proactive actions). The "total time of possible anticipatory actions" denotes the time taken by the cameras 128 to perform all possible predictive actions (ie, capturing sub-images) in step 412 or 416 were determined. Next is the system controller 102 with step 420 continued.

In Schritt 420 stellt der Systemcontroller 102 fest, ob alle möglichen vorausschauenden Aktionen, die zuvor in Schritt 412 oder 416 bestimmt wurden, tatsächlich ausgeführt werden können, während der Roboterarm 108 von der ersten Position zu der zweiten Position fährt. Zu diesem Zweck vergleicht der Systemcontroller 102 die Gesamtzeit der möglichen vorausschauenden Aktionen mit der Summe der folgenden Gegenstände: (a) der Zeit der ersten Aktion, die in Schritt 402 bestimmt wurde; (b) der Zeit des Verfahrwegs, die in Schritt 404 bestimmt wurde; und (c) der Zeit der zweiten Aktion, die in Schritt 406 bestimmt wurde. Beispielsweise kann der Systemcontroller 102 zum Ausführen des Schritts 420 die folgende Gleichung berechnen: n T ( i m a g e i ) > T ( A B ) + P ( A ) + P ( B )

Figure DE102014114272B4_0001
wobei:

  • nT(imagei) die Zeitspanne ist, welche die Kameras 128 benötigen, um alle möglichen vorausschauenden Aktionen auszuführen, zumindest teilweise beruhend auf der Anzahl der möglichen vorausschauenden Aktionen, die in Schritt 412 oder 416 bestimmt wurde;
  • T(A → B) die Zeitspanne ist, die der Roboterarm 108 benötigt, um von der ersten Position zu der zweiten Position entlang eines programmierten Wegs zu fahren, während er sich mit einer konstanten oder variablen Geschwindigkeit bewegt (d.h. die Zeit des Verfahrwegs), die in Schritt 404 bestimmt wurde;
In step 420 represents the system controller 102 Determine if all the possible predictive actions that were previously in step 412 or 416 have been determined, can actually be performed while the robot arm 108 moves from the first position to the second position. For this purpose, the system controller compares 102 the total time of the possible anticipatory actions with the sum of the following items: (a) the time of the first action, which in step 402 was determined; (b) the time of travel in step 404 was determined; and (c) the time of the second action, which in step 406 was determined. For example, the system controller 102 to execute the step 420 calculate the following equation: Σ n T ( i m a G e i ) > T ( A B ) + P ( A ) + P ( B )
Figure DE102014114272B4_0001
in which:
  • Σ n T (image i ) is the time span which the cameras use 128 need to perform all possible predictive actions, based at least in part on the number of possible predictive actions that are involved in step 412 or 416 was determined;
  • T (A → B) is the time span that the robot arm 108 is required to travel from the first position to the second position along a programmed path while moving at a constant or variable speed (ie, the time of the travel) shown in step 404 was determined;

P(A) die Zeitspanne ist, die der Roboterarm 108 benötigt, um eine erste Aktion (z.B. Aufheben, Loslassen, Bohren, Schweißen) an einem ersten Teil X1 auszuführen (d.h. die Zeit der ersten Aktion), die in Schritt 402 bestimmt wurde; und P(B) die Zeitspanne ist, die der Roboterarm 108 benötigt, um eine zweite Aktion (z.B. Aufheben, Loslassen, Bohren, Schweißen) an dem zweiten Teil X2 auszuführen (d.h. die Zeit der zweiten Aktion), die in Schritt 406 bestimmt wurde. Der Prozess des Bestimmens der insgesamt möglichen vorausschauenden Aktionen wird nicht unbedingt in Echtzeit ausgeführt. Die Nennwerte können offline geschätzt werden. Außerdem sind die Aktionszeit und die Fahrzeit eines einzelnen Schritts nicht unbedingt gleich.P (A) is the time span that the robot arm 108 needed to do a first action (eg picking up, releasing, drilling, welding) on a first part X1 to execute (ie the time of the first action), in step 402 was determined; and P (B) is the time span that the robot arm 108 needed to do a second action (eg picking up, releasing, drilling, welding) on the second part X2 to execute (ie the time of the second action), in step 406 was determined. The process of determining the total possible predictive actions is not necessarily performed in real time. The denominations can be estimated offline. In addition, the action time and the travel time of a single step are not necessarily the same.

Wenn die Gesamtzeit der möglichen vorausschauenden Aktionen nicht größer ist als die Summe aus (a) der Zeit der ersten Aktion, die in Schritt 402 bestimmt wurde; (b) der Zeit des Verfahrwegs, die in Schritt 404 bestimmt wurde; und (c) der Zeit der zweiten Aktion, die in Schritt 406 bestimmt wurde, dann fährt das Verfahren 400 mit Schritt 422 fort. In Schritt 422 befiehlt der Systemcontroller 102, dass die Kameras 128 die Anzahl der möglichen vorausschauenden Aktionen ausführen (d.h. Bilder der Teile X aufnehmen), wie in Schritt 412 oder 416 bestimmt wurde, während der Roboterarm 108 von der ersten Position zu der zweiten Position fährt. Schritt 422 umfasst außerdem das Ausführen der möglichen vorausschauenden Aktionen, die in Schritt 412 oder 416 bestimmt wurden, unter Verwendung der Kameras 128.If the total time of the possible predictive actions is not greater than the sum of (a) the time of the first action, which in step 402 was determined; (b) the time of travel in step 404 was determined; and (c) the time of the second action, which in step 406 was determined, then the procedure moves 400 with step 422 continued. In step 422 the system controller commands 102 that the cameras 128 perform the number of possible predictive actions (ie images of the parts X record) as in step 412 or 416 was determined while the robot arm 108 moves from the first position to the second position. step 422 also includes performing the possible predictive actions described in step 412 or 416 were determined, using the cameras 128 ,

Wenn in Schritt 420 die Gesamtzeit der möglichen vorausschauenden Aktionen außerdem größer ist als die Summe aus (a) der Zeit der ersten Aktion, die in Schritt 402 bestimmt wurde; (b) der Zeit des Verfahrwegs, die in Schritt 404 bestimmt wurde; und (c) der Zeit der zweiten Aktion, die in Schritt 406 bestimmt wurde, dann kehrt das Verfahren 400 zu Schritt 412 zurück, bei dem der Systemcontroller 102 die Anzahl der möglichen vorausschauenden Aktionen wie vorstehend erörtert neu justiert. Bei der Bestimmung, wie viele Bilder aufgenommen werden können, während sich der Roboterarm 108 von der ersten Position zu der zweiten Position bewegt, berücksichtigt das Verfahren 400 die Bildverarbeitungszeit; die spezielle Aktion des Roboterarms 108; die Beschleunigung, Verzögerung und Geschwindigkeit des Roboterarms 108; und den Betrieb der Förderbänder 120.When in step 420 the total time of the possible predictive actions is also greater than the sum of (a) the time of the first action, which is in step 402 was determined; (b) the time of travel in step 404 was determined; and (c) the time of the second action, which in step 406 was determined, then the process returns 400 to step 412 back, where the system controller 102 the number of possible predictive actions as discussed above re-adjusted. In determining how many pictures can be taken while the robot arm 108 moved from the first position to the second position, the method takes into account 400 the image processing time; the special action of the robot arm 108 ; the acceleration, deceleration and speed of the robot arm 108 ; and the operation of the conveyor belts 120 ,

Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.Although the best modes for carrying out the invention have been described in detail, those familiar with the art to which this invention relates will recognize various alternative constructions and embodiments for practicing the invention within the scope of the appended claims.

Claims (5)

Verfahren (200) zum Steuern einer Roboteranordnung (101), das umfasst, dass: ein Roboterarm (108) betätigt wird, um eine Startaktion an einer Startposition auszuführen; der Roboterarm (108) von der Startposition hin zu einer ersten Position bewegt wird; über einen Controller (102) eine visuelle Verarbeitungsteilroutine (300) ausgeführt wird, wobei die visuelle Verarbeitungsteilroutine (300) umfasst, dass: festgestellt wird, ob ein erstes Teil (X1) bereit sein wird, einer ersten Aktion durch den Roboterarm (108) unterzogen zu werden, sobald der Roboterarm (108) die erste Position erreicht; eine Positionsabweichung eines zweiten Teils (X2) von einer zweiten Position bestimmt wird; festgestellt wird, ob das zweite Teil (X2) bereit sein wird, einer zweiten Aktion durch den Roboterarm (108) unterzogen zu werden, sobald der Roboterarm (108) die zweite Position erreicht; und die erste Aktion an dem ersten Teil (X1) unter Verwendung des Roboterarms (108) durchgeführt wird, wenn der Roboterarm (108) innerhalb einer Positionsabweichung des ersten Teils (X1) von der ersten Position angeordnet ist, welche von der visuellen Verarbeitungsteilroutine (300) vorbestimmt wurde; wobei die Schritte des Betätigens, des Bewegens, des Ausführens und des Durchführens wiederholt werden, wobei die erste Position als Startposition neu vorgesehen wird, die erste Aktion als Startaktion neu vorgesehen wird, das zweite Teil (X2) als erstes Teil (X1) neu vorgesehen wird, die zweite Position als erste Position neu vorgesehen wird, die zweite Aktion als erste Aktion neu vorgesehen wird, und die Positionsabweichung des zweiten Teils (X2) von der zweiten Position als Positionsabweichung des ersten Teils (X1) von der ersten Position neu vorgesehen wird; wobei die visuelle Verarbeitungsteilroutine (300) ein eingebetteter Prozess ist, der kontinuierlich im Hintergrund arbeitet; wobei die visuelle Verarbeitungsteilroutine (300) umfasst, dass ein nächstes Teil von einer vorgesehenen Position identifiziert wird, das einer nächsten Aktion unterzogen werden soll; dass festgestellt wird, ob eine Kamera (128) bereit ist, ein Bild des identifizierten Teils von der vorgesehenen Position aufzunehmen; und dass festgestellt wird, ob sich das identifizierte Teil in einer Position befindet, an der die Kamera (128) in der Lage ist, das Bild des identifizierten Teils aufzunehmen; und wobei das Feststellen, ob sich das identifizierte Teil in einer Position befindet, an der die Kamera (128) in der Lage ist, das Bild des identifizierten Teils aufzunehmen, auf einer Eingabe von mindestens einem Teilesensor (124) beruht.A method (200) for controlling a robot assembly (101), comprising: operating a robotic arm (108) to perform a start action at a start position; moving the robotic arm (108) from the start position to a first position; performing, via a controller (102), a visual processing subroutine (300), the visual processing subroutine (300) comprising: determining whether a first portion (X1) will be ready undergoing a first action by the robotic arm (108) become as soon as the robot arm (108) reaches the first position; a positional deviation of a second part (X2) from a second position is determined; determining whether the second part (X2) will be ready to undergo a second action by the robotic arm (108) as soon as the robotic arm (108) reaches the second position; and the first action is performed on the first part (X1) using the robot arm (108) when the robot arm (108) is located within a positional deviation of the first part (X1) from the first position indicated by the visual processing subroutine (300 ) was predetermined; wherein the steps of operating, moving, executing and performing are repeated, wherein the first position is newly provided as the start position, the new action is newly provided as the start action, the second part (X2) is newly provided as the first part (X1) the second position is newly provided as the first position, the second action is newly provided as a first action, and the positional deviation of the second part (X2) from the second position is newly provided as the positional deviation of the first part (X1) from the first position ; wherein the visual processing subroutine (300) is an embedded process that operates continuously in the background; wherein the visual processing subroutine (300) comprises identifying a next portion of a designated location to be subjected to a next action; determining whether a camera (128) is ready to capture an image of the identified portion from the designated location; and that it is determined if that is the identified part is located in a position where the camera (128) is able to capture the image of the identified part; and wherein determining whether the identified part is in a position where the camera (128) is capable of capturing the image of the identified part is based on an input from at least one part sensor (124). Verfahren (200) nach Anspruch 1, wobei die visuelle Verarbeitungsteilroutine (300) ferner umfasst, dass das Bild des identifizierten Teils von der vorgesehenen Position unter Verwendung der Kamera (128) aufgenommen wird, während sich der Roboterarm (108) zu der vorgesehenen Position hin bewegt.Method (200) according to Claim 1 wherein the visual processing subroutine (300) further comprises taking the image of the identified part from the intended position using the camera (128) while the robot arm (108) is moving to the intended position. Verfahren (200) nach Anspruch 2, wobei eine Positionsabweichung des identifizierten Teils von der vorgesehenen Position zumindest teilweise beruhend auf der Position des identifizierten Teils bestimmt wird, während sich der Roboterarm (108) zu der vorgesehenen Position hin bewegt.Method (200) according to Claim 2 wherein a positional deviation of the identified part from the intended position is determined based at least in part on the position of the identified part as the robot arm (108) moves toward the intended position. Verfahren (200) nach Anspruch 3, wobei ein Status des identifizierten Teils von der vorgesehenen Position gesetzt wird, dass es bereit ist, der nächsten Aktion unterzogen zu werden.Method (200) according to Claim 3 wherein a status of the identified part is set from the intended position ready to be subjected to the next action. Verfahren (200) nach Anspruch 1, das ferner umfasst, dass festgestellt wird, wie viele Bilder von einem oder mehreren Teilen von Kameras (128) aufgenommen werden können, während sich der Roboterarm (108) von der Startposition zu der ersten Position bewegt.Method (200) according to Claim 1 method of further comprising determining how many images can be captured by one or more portions of cameras (128) as the robotic arm (108) moves from the start position to the first position.
DE102014114272.1A 2013-10-04 2014-10-01 Method for controlling a robot arrangement guided by image acquisition Active DE102014114272B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361886764P 2013-10-04 2013-10-04
US61/886,764 2013-10-04
US14/493,942 2014-09-23
US14/493,942 US9586320B2 (en) 2013-10-04 2014-09-23 System and method for controlling a vision guided robot assembly

Publications (2)

Publication Number Publication Date
DE102014114272A1 DE102014114272A1 (en) 2015-04-09
DE102014114272B4 true DE102014114272B4 (en) 2019-03-07

Family

ID=52693383

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014114272.1A Active DE102014114272B4 (en) 2013-10-04 2014-10-01 Method for controlling a robot arrangement guided by image acquisition

Country Status (1)

Country Link
DE (1) DE102014114272B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113878588B (en) * 2021-11-12 2023-03-31 哈尔滨工业大学(深圳) Robot compliant assembly method based on tactile feedback and oriented to buckle type connection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009034529A1 (en) 2008-07-22 2010-02-04 Comau, Inc., Southfield Automatic guidance and detection system and method for this
DE112009001414T5 (en) 2008-06-05 2011-04-21 Toshiba Kikai K.K. Processing system, control device, control method and program
US20130166061A1 (en) 2011-12-27 2013-06-27 Canon Kabushiki Kaisha Object gripping apparatus, control method for object gripping apparatus, and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009001414T5 (en) 2008-06-05 2011-04-21 Toshiba Kikai K.K. Processing system, control device, control method and program
DE102009034529A1 (en) 2008-07-22 2010-02-04 Comau, Inc., Southfield Automatic guidance and detection system and method for this
US20130166061A1 (en) 2011-12-27 2013-06-27 Canon Kabushiki Kaisha Object gripping apparatus, control method for object gripping apparatus, and storage medium

Also Published As

Publication number Publication date
DE102014114272A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
AT507339B1 (en) METHOD AND APPARATUS FOR RECORDING AND / OR PROCESSING OBJECTS
DE102016114337B4 (en) SYSTEM AND METHOD FOR CONNECTING COORDINATE SPACES MACHINES LIKE ASSEMBLY FIXED IN AN ENVIRONMENT
DE102009034529B4 (en) Automatic guidance and detection system and method for this
DE102015000587B4 (en) A robot programming device for creating a robot program for taking an image of a workpiece
DE102018213985B4 (en) robotic system
DE112019001256B3 (en) Control device, working robot, program and control method
DE102020116342A1 (en) DEVICE AND METHOD OF DETERMINING THE EXTENT OF DEVIATION IN THE WORKING POSITION OF A TOOL
DE102010032840A1 (en) Apparatus and method for measuring the position of a tool center of a robot
DE10351669B4 (en) Method and device for controlling a handling device relative to an object
DE102018116413A1 (en) robot system
DE102021103726B4 (en) Measurement parameter optimization method and device and computer control program
DE102020124356A1 (en) Control of a robot device for adjusting the position of an object supported by the robot
DE102018009836B4 (en) Object inspection system and object inspection method
DE102014117346A1 (en) Robot, robot control method and robot control program
DE202017003104U1 (en) Image recognition function supporting motion control module for work machines
DE102018103129A1 (en) Apparatus and method for generating an operating program of an inspection system
EP1675709A2 (en) Method for effecting the movement of a handling device and image processing device
EP3615908B1 (en) Control device for a test apparatus, test arrangement with the control device, method for controlling the test arrangement and computer program
DE102014114272B4 (en) Method for controlling a robot arrangement guided by image acquisition
DE102014018912A1 (en) Device and method for determining the position of an end effector of a robot
DE112020004852T5 (en) CONTROL METHOD, CONTROL DEVICE, ROBOT SYSTEM, PROGRAM AND RECORDING MEDIA
DE102018124671B4 (en) Method and device for creating a robot control program
DE102020200165A1 (en) Robot control device and method for controlling a robot
EP3465076B1 (en) Device for measuring objects
EP3752327A1 (en) Coordination system, handling device and method

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final