-
GEBIET
-
Die vorliegende Offenbarung betrifft ein Verfahren und/oder System zum Positionieren eines oder mehrerer Sensoren innerhalb eines Arbeitsraums.
-
ALLGEMEINER STAND DER TECHNIK
-
Die Aussagen in diesem Abschnitt stellen lediglich Hintergrundinformationen in Bezug auf die vorliegende Offenbarung bereit und stellen unter Umständen nicht den Stand der Technik dar.
-
Ein Arbeitsraum kann einen oder mehrere Industrieroboter beinhalten, die verschiedene automatisierte Aufgaben durchführen. Darüber hinaus kann der Arbeitsraum einen oder mehrere Sensoren beinhalten, die dazu konfiguriert sind, Bilddaten des Arbeitsraums zu erlangen, wodurch es einer Rechenvorrichtung und/oder einer Robotersteuerung ermöglicht wird, Objekte in dem Arbeitsraum zu identifizieren. Durch Identifizieren von Objekten in dem Arbeitsraum kann der Industrieroboter die Objekte innerhalb des Arbeitsraums berücksichtigen, während er verschiedene automatisierte Aufgaben durchführt. Undetektierbare Zonen innerhalb des Arbeitsraums, zum Beispiel aufgrund der Einschränkungen des einen oder der mehreren Sensoren, der Platzierung von Robotern und/oder der Konfiguration des Arbeitsraums sowie anderer Faktoren, können jedoch verhindern, dass der Industrieroboter die Objekte innerhalb der undetektierbaren Zonen des Arbeitsraums berücksichtigt.
-
Diese Probleme bei der Verwendung von Industrierobotern in einer Fertigungsumgebung sowie andere Probleme bei Industrierobotern werden durch die vorliegende Offenbarung gelöst.
-
KURZDARSTELLUNG
-
Dieser Abschnitt stellt eine allgemeine Kurzdarstellung der Offenbarung bereit und ist keine umfassende Offenbarung ihres vollständigen Umfangs oder all ihrer Merkmale.
-
Die vorliegende Offenbarung stellt ein Verfahren zum Steuern einer Position eines oder mehrerer Sensoren eines Arbeitsraums bereit, der einen oder mehrere Roboter beinhaltet. Das Verfahren beinhaltet Generieren eines Arbeitsraummodells, das einen oder mehrere digitale Roboter, einen oder mehrere digitale Sensoren und ein digitales Transportsystem aufweist, wobei das Arbeitsraummodell ein digitales Modell des Arbeitsraums ist, der eine oder die mehreren digitalen Roboter digitale Modelle des einen oder der mehreren Roboter sind und der eine oder die mehreren digitalen Sensoren digitale Modelle des einen oder der mehreren Sensoren sind. Das Verfahren beinhaltet Simulieren, für eine Aufgabe des einen oder der mehreren digitalen Roboter, eines Sensorbetriebs des einen oder der mehreren digitalen Sensoren innerhalb des Arbeitsraummodells auf Grundlage von Sensoreigenschaften des einen oder der mehreren digitalen Sensoren, wobei die Sensoreigenschaften eine Ausrichtung der digitalen Sensoren, einen Standort der digitalen Sensoren entlang des digitalen Transportsystems oder eine Kombination daraus beinhalten. Das Verfahren beinhaltet Identifizieren, für die Aufgabe des einen oder der mehreren digitalen Roboter, eines undetektierbaren Bereichs innerhalb des Arbeitsraummodells auf Grundlage des simulierten Sensorbetriebs. Das Verfahren beinhaltet selektives Positionieren, durch ein Transportsystem, eines Satzes von Sensoren aus dem einen oder den mehreren Sensoren auf Grundlage der mit der Aufgabe assoziierten undetektierbaren Bereiche, wobei der eine oder die mehreren Sensoren mit dem Transportsystem wirkgekoppelt sind.
-
In einigen Formen umfasst das selektive Positionieren des Satzes von Sensoren ferner Bewegen des Satzes von Sensoren entlang des Transportsystems.
-
In einigen Formen umfasst das selektive Positionieren des Satzes von Sensoren ferner Drehen des Satzes von Sensoren.
-
In einigen Formen umfasst der Arbeitsraum ferner einen oder mehrere Aktoren, die an dem Satz von Sensoren angebracht sind, und der eine oder die mehreren Aktoren sind dazu konfiguriert, den Satz von Sensoren zu drehen.
-
In einigen Formen beinhaltet das Verfahren ferner Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit der Aufgabe assoziierten undetektierbaren Bereiche.
-
In einigen Formen beinhaltet das Verfahren ferner selektives Positionieren des Satzes von Sensoren als Reaktion darauf, dass der aggregierte undetektierbare Bereich eine Detektionsmetrik nicht erfüllt.
-
In einigen Formen beinhaltet das Verfahren ferner Bestimmen, ob der aggregierte undetektierbare Bereich einem Pareto-optimalen Zustand entspricht.
-
In einigen Formen wird der Satz von Sensoren derart selektiv positioniert, dass der undetektierbare Bereich dem Pareto-optimalen Zustand entspricht.
-
In einigen Formen wird der undetektierbare Bereich innerhalb des Arbeitsraummodells auf Grundlage einer Vielzahl von Voxeln identifiziert, die das Arbeitsraummodell darstellt.
-
In einigen Formen beinhaltet das Verfahren ferner Generieren einer Tiefenkarte auf Grundlage des simulierten Sensorbetriebs und der Vielzahl von Voxeln, wobei der undetektierbare Bereich innerhalb des Arbeitsraummodells auf Grundlage eines oder mehrerer Werte der Tiefenkarte bestimmt wird und wobei jeder des einen oder der mehreren Werte der Tiefenkarte mit einem des einen oder der mehreren Voxel assoziiert ist.
-
In einigen Formen wird der undetektierbare Bereich innerhalb des Arbeitsraummodells als Reaktion darauf bestimmt, dass der eine oder die mehreren Werte der Tiefenkarte kleiner als ein Schwellentiefenwert sind.
-
In einigen Formen beinhaltet das Verfahren ferner Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit der Aufgabe assoziierten undetektierbaren Bereiche und Bestimmen auf Grundlage einer Routine zur multikriteriellen Optimierung, ob der aggregierte undetektierbare Bereich eine Detektionsmetrik erfüllt, wobei der Satz von Sensoren als Reaktion darauf, dass der aggregierte undetektierbare Bereich die Detektionsmetrik nicht erfüllt, selektiv entlang des Transportsystems positioniert wird.
-
In einigen Formen ist das Transportsystem dazu konfiguriert, den Satz von Sensoren in einem zweidimensionalen Raum des Arbeitsraums, einem dreidimensionalen Raum des Arbeitsraums oder einer Kombination daraus zu bewegen.
-
Die vorliegende Offenbarung stellt ein System zum Steuern einer Position eines oder mehrerer Sensoren eines Arbeitsraums bereit, der einen oder mehrere Roboter beinhaltet. Das System beinhaltet einen Prozessor und ein nichttransitorisches computerlesbares Medium, das Anweisungen beinhaltet, die durch den Prozessor ausführbar sind. Die Anweisungen beinhalten Generieren eines Arbeitsraummodells, das einen oder mehrere digitale Roboter, einen oder mehrere digitale Sensoren und ein digitales Transportsystem aufweist, wobei das Arbeitsraummodell ein digitales Modell des Arbeitsraums ist, der eine oder die mehreren digitalen Roboter digitale Modelle des einen oder der mehreren Roboter sind und der eine oder die mehreren digitalen Sensoren digitale Modelle des einen oder der mehreren Sensoren sind. Die Anweisungen beinhalten Simulieren, für eine Aufgabe des einen oder der mehreren digitalen Roboter, eines Sensorbetriebs des einen oder der mehreren digitalen Sensoren innerhalb des Arbeitsraummodells auf Grundlage von Sensoreigenschaften des einen oder der mehreren digitalen Sensoren, wobei die Sensoreigenschaften eine Ausrichtung der digitalen Sensoren, einen Standort der digitalen Sensoren entlang des digitalen Transportsystems oder eine Kombination daraus beinhalten. Die Anweisungen beinhalten Identifizieren, für die Aufgabe des einen oder der mehreren digitalen Roboter, eines undetektierbaren Bereichs innerhalb des Arbeitsraummodells auf Grundlage des simulierten Sensorbetriebs. Die Anweisungen beinhalten Aussenden eines Befehls zum selektiven Positionieren, durch ein Transportsystem, eines Satzes von Sensoren aus dem einen oder den mehreren Sensoren auf Grundlage der mit der Aufgabe assoziierten undetektierbaren Bereiche, wobei der eine oder die mehreren Sensoren mit dem Transportsystem wirkgekoppelt sind.
-
In einigen Formen beinhalten die Anweisungen ferner Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit jeder der einen oder mehreren Aufgaben assoziierten undetektierbaren Bereiche, Bestimmen, ob der aggregierte undetektierbare Bereich einem Pareto-optimalen Zustand entspricht, und Aussenden eines Befehls zum derartigen Bewegen des Satzes von Sensoren, dass der undetektierbare Bereich dem Pareto-optimalen Zustand entspricht.
-
In einigen Formen beinhalten die Anweisungen ferner Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit der Aufgabe assoziierten undetektierbaren Bereiche, Bestimmen auf Grundlage einer Routine zur multikriteriellen Optimierung, ob der aggregierte undetektierbare Bereich eine Detektionsmetrik erfüllt, und Aussenden eines Befehls zum Bewegen des Satzes von Sensoren entlang des Transportsystems als Reaktion darauf, dass der aggregierte undetektierbare Bereich die Detektionsmetrik nicht erfüllt.
-
In einigen Formen umfasst das selektive Positionieren des Satzes von Sensoren ferner Bewegen des Satzes von Sensoren entlang des Transportsystems, Drehen des Satzes von Sensoren oder eine Kombination daraus.
-
In einigen Formen ist das Transportsystem dazu konfiguriert, den Satz von Sensoren in einem zweidimensionalen Raum des Arbeitsraums, einem dreidimensionalen Raum des Arbeitsraums oder einer Kombination daraus zu bewegen.
-
Die vorliegende Offenbarung stellt ein Verfahren zum Steuern einer Position eines oder mehrerer Sensoren eines Arbeitsraums bereit, der einen oder mehrere Roboter beinhaltet. Das Verfahren beinhaltet Generieren eines Arbeitsraummodells, das einen oder mehrere digitale Roboter, einen oder mehrere digitale Sensoren und ein digitales Transportsystem aufweist, wobei das Arbeitsraummodell ein digitales Modell des Arbeitsraums ist, wobei der eine oder die mehreren digitalen Roboter digitale Modelle des einen oder der mehreren Roboter sind und wobei der eine oder die mehreren digitalen Sensoren digitale Modelle des einen oder der mehreren Sensoren sind. Das Verfahren beinhaltet Definieren einer oder mehrerer Aufgaben des einen oder der mehreren digitalen Roboter und Definieren von Sensoreigenschaften des einen oder der mehreren digitalen Sensoren, wobei die Sensoreigenschaften eine Ausrichtung der digitalen Sensoren, einen Standort der digitalen Sensoren entlang des digitalen Transportsystems oder eine Kombination daraus beinhalten. Das Verfahren beinhaltet für jede der einen oder mehreren Aufgaben Folgendes: Simulieren eines Sensorbetriebs des einen oder der mehreren digitalen Sensoren innerhalb des Arbeitsraummodells auf Grundlage der Sensoreigenschaften, Identifizieren eines undetektierbaren Bereichs innerhalb des Arbeitsraummodells auf Grundlage des simulierten Sensorbetriebs, Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit jeder der einen oder mehreren Aufgaben assoziierten undetektierbaren Bereiche und Bestimmen auf Grundlage einer Routine zur multikriteriellen Optimierung, ob der aggregierte undetektierbare Bereich eine Detektionsmetrik erfüllt. Das Verfahren beinhaltet selektives Positionieren, durch ein Transportsystem, eines Satzes von Sensoren aus dem einen oder den mehreren Sensoren als Reaktion darauf, dass der aggregierte undetektierbare Bereich die Detektionsmetrik nicht erfüllt, wobei der eine oder die mehreren Sensoren mit dem Transportsystem wirkgekoppelt sind.
-
Weitere Anwendungsbereiche werden aus der in dieser Schrift bereitgestellten Beschreibung ersichtlich. Es versteht sich, dass die Beschreibung und spezifische Beispiele lediglich zu Veranschaulichungswecken gedacht sind und den Umfang der vorliegenden Offenbarung nicht einschränken sollen.
-
Figurenliste
-
Damit die Offenbarung gut zu verstehen ist, werden nun unter Bezugnahme auf die beigefügten Zeichnungen verschiedene beispielhafte Formen davon beschrieben, wobei Folgendes gilt:
- 1 veranschaulicht einen Arbeitsraum gemäß den Lehren der vorliegenden Offenbarung;
- 2 veranschaulicht ein Transportsystem gemäß den vorliegenden Lehren der vorliegenden Offenbarung;
- 3 ist ein Funktionsblockdiagramm eines Sensorplatzierungsrechensystems gemäß den Lehren der vorliegenden Offenbarung;
- 4 ist eine digitale Darstellung des Arbeitsraums gemäß den Lehren der vorliegenden Offenbarung; und
- 5 veranschaulicht eine beispielhafte Steuerroutine gemäß den Lehren der vorliegenden Offenbarung.
-
Die in dieser Schrift beschriebenen Zeichnungen dienen lediglich Veranschaulichungszwecken und sollen den Umfang der vorliegenden Offenbarung in keiner Weise einschränken.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende Beschreibung ist lediglich beispielhafter Natur und soll die vorliegende Offenbarung, Anwendung oder Verwendungen nicht einschränken. Es versteht sich, dass über alle Zeichnungen hinweg entsprechende Bezugszeichen gleiche oder entsprechende Teile und Merkmale angeben.
-
Die vorliegende Offenbarung stellt ein Sensorplatzierungsrechensystem bereit, das eine Sensorabdeckung eines Arbeitsraums optimiert. Das Sensorplatzierungsrechensystem kann ein digitales Modell des Arbeitsraums generieren und Aufgaben eines oder mehrerer Roboter und Sensoreigenschaften von Sensoren definieren. Für jede der Aufgaben simuliert das Sensorplatzierungsrechensystem den Sensorbetrieb und es identifiziert undetektierbare Zonen innerhalb des Arbeitsraums. Anschließend optimiert das Sensorplatzierungsrechensystem die Sensoranordnung des Arbeitsraums, um undetektierbare Bereiche zu reduzieren, indem zum Beispiel die Position und/oder Ausrichtung der Sensoren auf Grundlage der mit jeder Aufgabe assoziierten undetektierbaren Bereiche eingestellt wird.
-
Unter Bezugnahme auf 1 beinhaltet ein System einen Arbeitsraum, der im Allgemeinen mit dem Bezugszeichen 100 bezeichnet ist, in einer Fertigungsanlage und einen Roboter 102 innerhalb des Arbeitsraums 100. Der Arbeitsraum 100 kann ein nicht mit einem Käfig eingegrenzter Bereich sein oder ein mit einem Käfig eingegrenzter Bereich sein, der einen Zaun oder eine andere einschlussartige Struktur aufweist. Der Arbeitsraum 100 kann zudem eine mobile Plattform sein, die dazu konfiguriert ist, sich zu verschiedenen Teilen der Fertigungsanlage zu bewegen.
-
In einer Form beinhaltet der Roboter 102 einen Roboterarm 103 mit variierendem Bewegungsbereich und eine Robotersteuerung 106, die dazu konfiguriert ist, den Roboterarm 103 zu betreiben, um eine oder mehrere automatisierte Aufgaben durchzuführen. Als ein Beispiel kann die Robotersteuerung 106 den Roboterarm 103 steuern, um ein Werkstück (nicht gezeigt) aufzunehmen und von einem Bereitstellungsbereich zu einem Bearbeitungsbereich zu bewegen. Wenngleich der Roboter 102 als stationärer Roboterarm veranschaulicht ist, kann der Roboter ein beliebiger anderer geeigneter Roboter sein, und er sollte nicht auf den in der Figur veranschaulichten Roboter 102 beschränkt sein. Zum Beispiel kann der Roboter 102 ein mobiler Roboter sein. Wenngleich 1 einen Roboter 102 veranschaulicht, versteht es sich, dass eine beliebige Anzahl von Robotern 102 in anderen Formen innerhalb des Arbeitsraums 100 bereitgestellt sein kann und dass sich die Roboter 102 voneinander unterscheiden können.
-
In einer Form beinhaltet der Roboter 102 einen oder mehrere Robotersensoren 104, um Daten zu generieren, die verschiedenen Betriebsmetriken des Roboters 102 entsprechen. Als ein Beispiel können die Robotersensoren 104 einen Standortsensor (z. B. einen Nahfeldkommunikationssensor (near-field communication sensor - NFC-Sensor), einen Ultrabreitbandsensor (ultrawide-band sensor - UWB-Sensor)) beinhalten, der dazu konfiguriert ist, Standortinformationen des Roboters 102 zu generieren. Als ein anderes Beispiel können die Robotersensoren 104 einen Beschleunigungsmesser, ein Gyroskop und/oder ein Magnetometer beinhalten, die dazu konfiguriert sind, Ausrichtungsinformationen des Roboters 102 zu generieren. Als noch ein anderes Beispiel können die Robotersensoren 104 einen Geschwindigkeitssensor, der dazu konfiguriert ist, Geschwindigkeitsinformationen des Roboters 102 zu generieren, einen Leistungssensor, um Leistungsinformationen zu generieren (z. B. Informationen bezüglich der Menge an Strom und/oder Spannung, der/die durch eine Leistungsquelle an den Roboter 102 angelegt wird), einen Drehmomentsensor, der dazu konfiguriert ist, Drehmomentinformationen von verschiedenen Gelenken des Roboters 102 zu generieren, und/oder einen Berührungssensor an einem Griff des Roboters 102, der dazu konfiguriert ist, einen Kontakt zu detektieren, beinhalten. Die Robotersensoren 104 sind dazu konfiguriert, der Robotersteuerung 106 die Informationen zur weiteren Verarbeitung und zum Steuern des Roboterarms 103 bereitzustellen. Wenngleich in dieser Schrift spezifische Beispiele bereitgestellt sind, kann der Roboter 102 andere Sensoren beinhalten, und er sollte nicht auf die in dieser Schrift beschriebenen Sensoren beschränkt sein.
-
Um den Roboter 102 zu überwachen, beinhaltet der Arbeitsraum 100 Erfassungsvorrichtungen 110, die an verschiedenen Standorten innerhalb des Arbeitsraums 100 positioniert sind. In einer Form beinhalten die Erfassungsvorrichtungen 110 Sensoren 112, die dazu konfiguriert sind, Bilder, Daten, die Objekte des Arbeitsraums 100 darstellen, und/oder dergleichen zu erlangen. Als ein Beispiel beinhalten die Sensoren 112 Folgendes, ohne darauf beschränkt zu sein: eine zweidimensionale Kamera, eine dreidimensionale Kamera, einen Infrarotsensor, einen Radarscanner, einen Laserscanner, einen Sensor zur optischen Abstands- und Geschwindigkeitsmessung (light detection and ranging sensor - LIDAR-Sensor) und/oder einen Ultraschallsensor. Wie nachstehend ausführlicher beschrieben, verwendet ein Rechensystem in Kommunikation mit dem Roboter 102 und den Sensoren 112 die Daten von den Sensoren 112, um ein digitales Modell des Arbeitsraums 100 zu bilden und undetektierbare Bereiche, wie etwa gestrichelte Bereiche 108 innerhalb des Arbeitsraums 100, zu identifizieren.
-
Um eine oder mehrere der Erfassungsvorrichtungen 110 abzustützen und deren Position zu steuern, beinhaltet der Arbeitsraum 100 ein Transportsystem 120. In einer Form sind die Erfassungsvorrichtungen 110 entlang des Transportsystems 120 angeordnet und dazu konfiguriert, sich unter Verwendung von Aktoren, die im Allgemeinen als Kreis 114 dargestellt sind, zu verschiedenen Standorten des Transportsystems 120 zu bewegen. In einer Form sind die Aktoren 114 dazu konfiguriert, die Ausrichtung (z. B. eine Nickrate, Gierrate usw.) der Sensoren 112 einzustellen, und sie beinhalten Motortreiber, Motorsteuerungen, Sendeempfänger und/oder andere geeignete Hardwarekomponenten zum Durchführen der in dieser Schrift beschriebenen Funktionalität. In einer Variation kann das Transportsystem 120 zu verschiedenen Standorten des Arbeitsraums 100 bewegt werden. Dementsprechend können die Erfassungsvorrichtungen 110 zu verschiedenen 2D- oder 3D-Positionen des Arbeitsraums 100 bewegt werden, wie nachstehend ausführlicher beschrieben.
-
In einer Form ist das Transportsystem 120 durch Schienen, Rollensysteme, Aufzugsplattformen, mobile Roboter und/oder Fahrzeuge (z. B. fahrerlose Transportfahrzeuge (automated guided vehicles - AGVs), autonome Fahrzeuge, unbemannte Luftfahrzeuge usw.) umgesetzt, die die Erfassungsvorrichtungen 110 zu verschiedenen 2D- oder 3D-Standorten innerhalb des Arbeitsraums 100 bewegen und/oder es den Erfassungsvorrichtungen 110 ermöglichen, sich zu diesen zu bewegen. In einigen Formen beinhaltet das Transportsystem 120 verschiedene Bewegungssysteme (z. B. Antriebssysteme, Lenksysteme und/oder Bremssysteme), um die Erfassungsvorrichtungen 110 zu bewegen, und eine oder mehrere Prozessorschaltungen, die dazu konfiguriert sind, maschinenlesbare Anweisungen auszuführen, die in einem oder mehreren nichttransitorischen computerlesbaren Medien gespeichert sind, wie etwa einer Schaltung eines Direktzugriffsspeichers (random-access memory - RAM) und/oder einer Schaltung eines Festwertspeichers (read-only memory - ROM). Das Transportsystem 120 kann zudem andere Komponenten zum Durchführen der in dieser Schrift beschriebenen Vorgänge beinhalten, wie etwa, ohne darauf beschränkt zu sein, Bewegungstreiber und -systeme, Sendeempfänger, Router und/oder Hardware für Eingabe-/Ausgabeschnittstellen.
-
In einer Form beinhaltet das Transportsystem 120 Längstransportsysteme 122, Quertransportsysteme 124 und Vertikaltransportsysteme 126. Die Längstransportsysteme 122 sind dazu konfiguriert, die Erfassungsvorrichtungen 110 längs (d. h. in der ±Y-Richtung) zu bewegen, die Quertransportsysteme 124 sind dazu konfiguriert, die Erfassungsvorrichtungen 110 quer (d. h. in der ±X-Richtung) zu bewegen, und die Vertikaltransportsysteme 126 sind dazu konfiguriert, die Erfassungsvorrichtungen 110 vertikal (d. h. in der ±Z-Richtung) zu bewegen. Die Längstransportsysteme 122, die Quertransportsysteme 124 und die Vertikaltransportsysteme 126 können einen Weg bereitstellen, auf dem sich die Erfassungsvorrichtungen 110 innerhalb des Arbeitsraums 100 bewegen. Wenngleich das Transportsystem 120 als über dem Roboter 102 angeordnet gezeigt ist, versteht es sich, dass das Transportsystem 120 an einem beliebigen Standort innerhalb des Arbeitsraums 100 positioniert sein kann.
-
Als ein Beispiel und wie in 2 gezeigt, beinhaltet ein Transportsystem 120-1 die Längstransportsysteme 122 und die Quertransportsysteme 124, die durch Schienen umgesetzt sind. Unter Verwendung von Rädern 132 sind die Quertransportsysteme 124 dazu konfiguriert, sich entlang von Schienen (nicht gezeigt) zu bewegen, die an den Längstransportsystemen 122 angeordnet sind, wodurch die daran angeordneten Erfassungsvorrichtungen 110 bewegt werden. Darüber hinaus sind die Erfassungsvorrichtungen 110 dazu konfiguriert, sich unter Verwendung von Rollen 134 und Seilen 136, die an den Quertransportsystemen 124 angeordnet sind, entlang der Quertransportsysteme 124 zu bewegen.
-
Unter Bezugnahme auf 3 ist ein Rechensystem 200 mittels eines Bereichsnetzwerks, einer dedizierten Kommunikationsverbindung oder einer Kombination daraus kommunikativ an die Robotersteuerung 106, die Erfassungsvorrichtungen 110 und das Transportsystem gekoppelt. Dementsprechend beinhalten das Rechensystem 200, die Erfassungsvorrichtungen 110, die Robotersteuerung 106 und das Transportsystem 120 jeweils Hardwarekomponenten, um die Kommunikationsverbindung gemäß einem Kommunikationsprotokoll herzustellen, wie etwa einem drahtgebundenen Kommunikationsprotokoll und/oder einem drahtlosen Kommunikationsprotokoll (z. B. Protokoll vom Bluetooth-Typ, Protokoll vom Zigbee-Typ, Protokoll vom Wireless-Fidelity-Typ (Wi-Fi-Typ), Protokoll vom Ultrabreitbandtyp (UWB-Typ), Protokoll vom Nahfeldkommunikationstyp (NFC-Typ) und Protokollen vom Mobilfunktyp sowie anderen). In einigen Formen beinhalten die Hardwarekomponenten des Rechensystems 200, der Robotersteuerung 106, der Erfassungsvorrichtungen 110 und des Transportsystems 120 unter anderem Sendeempfänger, Router, Eingangs-/Ausgangsanschlüsse und Software, die durch einen oder mehrere Prozessoren ausführbar ist.
-
Die Robotersteuerung 106 beinhaltet computerlesbare Softwareprogramme, die durch einen oder mehrere Prozessoren der Robotersteuerung 106 ausgeführt werden. Als ein Beispiel beinhaltet die Robotersteuerung 106 Computersoftwareprogramme, die Programme beinhalten, die bei Ausführung durch die Robotersteuerung 106 den Roboter 102 anweisen, vordefinierte automatisierte Aufgaben durchzuführen, bei denen der Roboter 102 eine oder mehrere Bewegungen durchführt, um ein gewünschtes Ergebnis zu erreichen. In einigen Formen beinhaltet die Robotersteuerung 106 Computersoftwareprogramme, die bei Ausführung durch die Robotersteuerung 106 die Sensordaten von den Robotersensoren 104 erlangen und verarbeiten, um Vorgänge des Roboterarms 103 zu überwachen.
-
In einer Form beinhaltet das Rechensystem 200 ein Sensoroptimierungsmodul 202 und eine Benutzerschnittstelle 204. Das Sensoroptimierungsmodul 202 beinhaltet computerlesbare Softwareprogramme, die durch den einen oder die mehreren Prozessoren des Rechensystems 200 ausführbar sind. Dementsprechend kann das Rechensystem 200 (einen) Mikroprozessor(en), einen Speicher zum Speichern von Code, der durch den/die Mikroprozessor(en) ausgeführt wird, und andere geeignete Hardwarekomponenten beinhalten, um die beschriebene Funktionalität des Rechensystems 200 bereitzustellen. In einigen Formen beinhaltet das Sensoroptimierungsmodul 202 ein Umgebungsparametermodul 208, ein Arbeitsraummodellgenerierungsmodul 210 und ein Sensoranalysemodul 214.
-
Das Umgebungsparametermodul 208 ist dazu konfiguriert, verschiedene Betriebsparameter des Arbeitsraums 100 zu identifizieren und/oder zu erlangen. In einer Form beinhalten die Betriebsparameter des Arbeitsraums 100 unter anderem Folgendes: einen 2D-/3D-Betriebsbereich des Roboters 102, eine Größe des Roboters 102, einen Typ des Roboters 102 (z. B. ein kartesischer Roboter, ein zylindrischer Roboter, ein sphärischer Roboter, ein Parallelroboter, ein Knickarmroboter sowie andere), einen Freiheitsgrad des Roboters 102 und/oder die Abmessungen einer mobilen Plattform, auf der der Arbeitsraum 100 bereitgestellt ist. Die Betriebsparameter des Arbeitsraums 100 können von der Robotersteuerung 106 erlangt und/oder durch einen Benutzer unter Verwendung der Benutzerschnittstelle 204 eingegeben werden, die mindestens eines von einer Touchscreen-Anzeige, einem Mikrofon, Tasten, Strichcodescannern sowie anderen Schnittstellen, die Daten/Informationen mit dem Rechensystem 200 austauschen, beinhalten kann.
-
Das Arbeitsraummodellgenerierungsmodul 210 ist dazu konfiguriert, ein digitales Modell des Arbeitsraums 100 auf Grundlage einer virtuellen Darstellung des Arbeitsraums 100 zu generieren. Als ein Beispiel und unter Bezugnahme auf 4 ist das Arbeitsraummodellgenerierungsmodul 210 dazu konfiguriert, eine Voxelisierungsdarstellung des Arbeitsraums 100, die drei der Roboter 102 aufweist, als das digitale Modell zu generieren. Die Voxelisierungsdarstellung ist in dieser Schrift als Voxelisierung 100' bereitgestellt und beinhaltet Voxel 101'. In einigen Formen kann die Voxelisierung 100' Grenzen des Arbeitsraums 100 definieren und digitale Darstellungen verschiedener Objekte des Arbeitsraums 100 beinhalten, wie etwa eine digitale Darstellung des Roboters 102 (im Folgenden als Roboter 102' bezeichnet), eine digitale Darstellung der Erfassungsvorrichtungen 110 (im Folgenden als Erfassungsvorrichtungen 110' bezeichnet) und/oder eine digitale Darstellung des Transportsystems 120 (im Folgenden als Transportsystem 120' bezeichnet).
-
Es versteht sich, dass die Voxelisierung 100' digitale Darstellungen anderer Objekte in dem Arbeitsraum 100 beinhalten kann, wie etwa eines Menschen, eines beweglichen Objekts (z. B. eines AGV, eines autonomen mobilen Roboters (autonomous mobile robot - AMR), eines Werkstücks, eines Elektrowerkzeugs, von Befestigungselementen sowie anderen) und/oder eines statischen Objekts (z. B. von Werkbank, Tisch, Mensch-Maschine-Schnittstelle sowie anderen). Es versteht sich zudem, dass das Arbeitsraummodellgenerierungsmodul 210 andere diskrete Gittermodelle als das digitale Modell generieren kann und nicht auf die in dieser Schrift beschriebene Voxelisierung 100' beschränkt ist.
-
In einigen Formen kann die virtuelle Darstellung vorbestimmt und in dem Rechensystem 200 gespeichert sein (z. B. in einer Datenbank des Rechensystems 200 gespeichert). Falls darüber hinaus dem Arbeitsraum 100 neue Merkmale hinzugefügt werden, kann die virtuelle Darstellung zudem aktualisiert und in dem Rechensystem 200 gespeichert werden. In einer Form ist die virtuelle Darstellung eine Zeichnung/Modellierung des Arbeitsraums 100, der Roboter 102, der Erfassungsvorrichtungen 110 und des Transportsystems 120 innerhalb des Arbeitsraums 100 durch rechnerunterstütztes Konstruieren (computer aided design - CAD). Als ein anderes Beispiel ist die virtuelle Darstellung ein Modell, in dem modellierte Komponenten bewegt werden können (z. B. eine modellierte Komponente, die darauf hinweist, dass der Roboter 102 gemäß Gelenkwinkeln konfiguriert ist, die durch die eingebauten Codierer gemessen werden).
-
In einigen Formen ist das Arbeitsraummodellgenerierungsmodul 210 dazu konfiguriert, die Voxelisierung 100' auf Grundlage der Betriebsparameter, der virtuellen Darstellung und/oder der Sensordaten von den Erfassungsvorrichtungen 110 zu generieren. Das heißt, wenn die Erfassungsvorrichtungen 110 eine oder mehrere multidimensionale Kameras (z. B. 2D- oder 3D-Kameras) beinhalten, führt das Arbeitsraummodellgenerierungsmodul 210 eine räumliche Transformation der Daten von den Kameras durch. Unter Verwendung der virtuellen Darstellung führt das Arbeitsraummodellgenerierungsmodul 210 eine Abbildungsfunktion durch, die eine räumliche Entsprechung zwischen allen Punkten in einem Bild mit der virtuellen Darstellung definiert. Beispielhafte räumliche Transformationstechniken zur digitalen Bildverarbeitung beinhalten unter anderem ein Schachbrett, ein Artefakt im QR-Code-Stil sowie andere und die räumlichen Transformationstechniken können verwendet werden, um extrinsische Eigenschaften (z. B. die Pose der Erfassungsvorrichtungen 110) zu kalibrieren. Mit den extrinsischen Eigenschaften können verschiedene bekannte Algorithmen verwendet werden, um die aufgezeichneten Daten in der realen Welt zu positionieren (d. h. vom Kamerarahmen in den Weltrahmen umzuwandeln).
-
In einigen Formen ist das Arbeitsraummodellgenerierungsmodul 210 dazu konfiguriert, Objekte zu identifizieren und zu klassifizieren, die in der Voxelisierung 100' bereitgestellt sind. Als ein Beispiel identifiziert und klassifiziert das Arbeitsraummodellgenerierungsmodul 210 die Objekte der Voxelisierung 100' auf Grundlage einer Objektklassifizierungsbibliothek, die eine Vielzahl von Objekten mit einer oder mehreren Klassifizierungen assoziiert. Die Klassifizierungen können unter anderem Folgendes beinhalten: den Roboter 102, die Erfassungsvorrichtungen 110, die Transportsysteme 120, die Robotersensoren 104, einen Menschen, ein bewegliches Objekt und/oder ein statisches Objekt.
-
In einigen Formen beinhaltet das Sensoranalysemodul 214 ein Sensoreigenschaftsmodul 216, ein Robotereigenschaftsmodul 218, ein Sensorsimulationsmodul 220, ein Zonenmodul 222, ein Zieloptimierungsmodul 224 und ein Sensorplatzierungsmodul 226. Das Sensoreigenschaftsmodul 216 ist dazu konfiguriert, Sensoreigenschaften der Erfassungsvorrichtungen 110' zu definieren, wie etwa Folgendes, ohne darauf beschränkt zu sein: einen Sensortyp, eine Ausrichtung, ein Sichtfeld und/oder einen Standort. In einer Form können die Sensoreigenschaften durch einen Benutzer des Rechensystems 200 über die Benutzerschnittstelle 204 eingegeben werden. In einer anderen Form können die Sensoreigenschaften vorbestimmt sein und aus einem Repository (z. B. einer Datenbank) ausgewählt werden. In noch einer anderen Form können die Sensoreigenschaften von den Erfassungsvorrichtungen 110 des Arbeitsraums 100 erlangt werden.
-
Das Robotereigenschaftsmodul 218 ist dazu konfiguriert, Robotereigenschaften des Roboters 102' (oder des Roboters 102) beim Durchführen einer gegebenen Aufgabe zu definieren. In einer Form beinhalten die Robotereigenschaften raumbezogene Parameter, die einen Standort des Roboters 102' und/oder verschiedene Posen des Roboters 102' beim Durchführen der gegebenen Aufgabe beinhalten können. Die Robotereigenschaften können durch einen Benutzer des Rechensystems 200 über die Benutzerschnittstelle 204 eingegeben und/oder von der Robotersteuerung 106 erlangt werden. In einer anderen Form können die Robotereigenschaften vorbestimmt sein und aus einem Repository (z. B. einer Datenbank) ausgewählt werden.
-
Wenn die Sensoreigenschaften und/oder die Robotereigenschaften definiert sind, ist das Sensorsimulationsmodul 220 dazu konfiguriert, eine Simulation des Betriebs der Erfassungsvorrichtungen 110' und/oder des Roboters 102' zu generieren. Während (oder nach) der Simulation ist das Zonenmodul 222 dazu konfiguriert, eine undetektierbare Zone innerhalb der Voxelisierung 100' zu identifizieren. Wie in dieser Schrift darauf Bezug genommen wird, bezieht sich der Ausdruck „undetektierbare Zone“ auf eine Zone, in der die Erfassungsvorrichtungen 110' nicht dazu in der Lage sind, Sensordaten zum Beispiel auf Grundlage von den Sensoreigenschaften und/oder dem Vorhandensein von Objekten in der Voxelisierung 100' zu erlangen. Zusätzlich zum Identifizieren einer undetektierbaren Zone innerhalb der Voxelisierung 100' kann das Zonenmodul 222 andere Zonen der Voxelisierung 100' identifizieren, wie etwa eine detektierbare Zone und/oder eine außer Sicht befindliche Zone. Wie in dieser Schrift darauf Bezug genommen wird, bezieht sich der Ausdruck „detektierbare Zone“ auf eine Zone, in der die Erfassungsvorrichtungen 110' (oder Erfassungsvorrichtungen 110) dazu in der Lage sind, Bilddaten der Voxelisierung 100' (oder des Arbeitsraums 100) zu erlangen. Wie in dieser Schrift darauf Bezug genommen wird, bezieht sich der Ausdruck „außer Sicht befindliche Zone“ auf eine Zone, die sich außerhalb des Sichtfelds der Erfassungsvorrichtungen 110' (oder Erfassungsvorrichtungen 110) befindet.
-
Um die undetektierbaren Zonen zu identifizieren, generiert das Zonenmodul 222 eine Tiefenkarte auf Grundlage des simulierten Sensorbetriebs und der Vielzahl von Voxeln 101'. In einer Form wird jeder Tiefenwert der Tiefenkarte auf Grundlage des Sichtfelds der Erfassungsvorrichtungen 110' und davon, ob eine gegebene Kombination aus Posenszenarien der Roboter 102' innerhalb des Sichtfelds der Erfassungsvorrichtungen 110' liegt, bestimmt. Als ein Beispiel bestimmt das Zonenmodul 222 anfangs den Standort jedes Voxels 101' in einem Weltrahmen und es bestimmt für jedes Voxel 101' den Tiefenkartenwert auf Grundlage einer Dreh- und/oder Translationsmatrix jeder Erfassungsvorrichtung 110' in dem Weltrahmen und eine Nick- und/oder Gierrate des Voxels 101' auf Grundlage eines Ursprungs der Erfassungsvorrichtungen 110' in dem Weltrahmen. Falls sich die gegebene Kombination aus Posenszenarien der Roboter 102' innerhalb des Sichtfelds der Erfassungsvorrichtungen 110' befindet, kann der Tiefenwert in der entsprechenden Region der Tiefenkarte kleiner als ein Schwellenwert sein. Falls sich die gegebene Kombination aus Posenszenarien der Roboter 102' nicht innerhalb des Sichtfelds der Erfassungsvorrichtungen 110' befindet, kann der Tiefenwert in der entsprechenden Region der Tiefenkarte größer als ein Schwellenwert sein. In einigen Formen kann das Zonenmodul 222 die Voxel 101', die niedrigeren Tiefenwerten entsprechen, als undetektierbare Zonen und diejenigen, die höhere Tiefenwerte aufweisen, als detektierbare Zonen bezeichnen.
-
In einigen Formen wiederholt das Zonenmodul 222 die vorstehende Routine für jede Kombination aus Posenszenarien der Roboter 102' und es bestimmt eine aggregierte undetektierbare Zone auf Grundlage der mit jeder Kombination aus Posenszenarien assoziierten undetektierbaren Zonen. In einigen Formen bestimmt das Zonenmodul 222 eine aggregierte detektierbare Zone auf Grundlage der mit jeder Kombination aus Posenszenarien assoziierten detektierbaren Zonen. In einigen Formen reduziert das Zonenmodul 222 die Auflösung der durch die Erfassungsvorrichtungen 110' generierten Tiefenkarte, um das Rauschen der Tiefenkarte zu reduzieren und die Latenz des Rechensystems 200 zu minimieren. Beispielhafte Auflösungsreduzierungsroutinen beinhalten unter anderem eine Downsampling-Routine.
-
In einigen Formen ist das Zieloptimierungsmodul 224 dazu konfiguriert, zu bestimmen, ob die aggregierte undetektierbare Zone eine oder mehrere Detektionsmetriken erfüllt. Beispielhafte Detektionsmetriken beinhalten unter anderem Folgendes: ob eine Größe der aggregierten undetektierbaren Zone ein Größenkriterium erfüllt (z. B. die aggregierte undetektierbaren Zone in einem Pareto-optimalen Zustand ist, eine Fläche oder eine Querschnittsfläche der aggregierten undetektierbaren Zone kleiner als eine Schwellenfläche ist, ein Volumen der aggregierten undetektierbaren Zone kleiner als ein Schwellenvolumen ist, eine relative Fläche und/oder ein relatives Volumen der aggregierten undetektierbaren Zone kleiner als eine Schwellenfläche und/oder ein Schwellenvolumen ist sowie andere); ein Standortkriterium (z. B. ob sich die aggregierte undetektierbare Zone in der Nähe eines Standorts befindet, an dem ein Mensch während des Betriebs des entsprechenden Roboters 102 positioniert sein kann, ob sich die aggregierte undetektierbare Zone in der Nähe eines Standorts befindet, an dem mindestens ein Teil der automatisierten Aufgaben des entsprechenden Roboters 102 stattfindet, sowie andere); und/oder Anzahl von Sensoren (z. B. Hinzufügen eines oder mehrerer Sensoren zu Bereichen, die undetektierbar sind und überwacht werden sollten, Reduzieren der Anzahl von Sensoren, wenn eine oder mehrere Erfassungsvorrichtungen 110 ein überlappendes Sichtfeld aufweisen, sowie andere).
-
In einer Form löst das Zieloptimierungsmodul 224 eine oder mehrere multikriterielle Relationen unter Verwendung eines Verfahrens zur multikriteriellen Optimierung, wie etwa eines Algorithmus zur Pareto-effizienten globalen Optimierung (Pareto efficient global optimization algorithm - ParEGO-Algorithmus), eines nicht-dominierten sortierenden genetischen Algorithmus II (non-dominated sorting genetic algorithm II - NSGA-II), eines multikriteriellen evolutionären Algorithmus auf Grundlage von Zerlegung (multi-objective evolutionary algorithm based on decomposition - MOEA-D) sowie anderer auf, um zu bestimmen, ob die aggregierte undetektierbare Zone eine oder mehrere Detektionsmetriken erfüllt. In einer Form bestimmt das Zieloptimierungsmodul 224, ob die aufgelösten multikriteriellen Relationen Pareto-optimale Lösungen für eine oder mehrere Roboteraufgaben der Roboter 102 sind, wie in den nachstehenden beispielhaften Relationen gezeigt:
-
In den vorstehenden Relationen stellt fi(x) eine der detektierbaren Zonen dar, die einer Kombination aus Posenszenarien (PCD1) entspricht, stellt f2(x) den aggregierten detektierbaren Bereich dar, der als Worst-Case-Aggregatfunktion dargestellt ist, die einen Worst-Case-Wert für K Posenszenarien (PCDk) beurteilt, stellt C ein Verhältnis der detektierbaren Zonen und der undetektierbaren Zonen dar, stellt x eine Position und Ausrichtung der Erfassungsvorrichtungen 110' dar, stellt N eine obere Schranke der Auslegungsvariablen dar, ist Gi eine Bedingung in Bezug auf ein Abdeckungsverhältnis eines gegebenen Voxels 101' (z. B. eines Voxels 101', das sich immer in einer detektierbaren Zone befinden sollte und einen Wert von 1 aufweisen sollte) und ist M eine Anzahl von Erfassungsvorrichtungen 110. Es versteht sich, dass die multikriteriellen Relationen in einigen Formen andere Bedingungen aufweisen können. Demnach bestimmt das Zieloptimierungsmodul 224, dass die aufgelösten multikriteriellen Relationen Pareto-optimale Lösungen sind, und es befindet sich in einem Pareto-optimalen Zustand, falls das Verhältnis der detektierbaren Zonen und der undetektierbaren Zonen (C) größer als ein Schwellenwert ist und die Bedingung in Bezug auf ein Abdeckungsverhältnis eines gegebenen Voxels 101' (Gi) erfüllt ist (z. B. Gi = 1).
-
Während beschrieben ist, dass das Zieloptimierungsmodul 224 eine Routine zur multikriteriellen Optimierung durchführt, versteht es sich, dass das Zieloptimierungsmodul 224 verschiedene Optimierungsroutinen zum Identifizieren einer optimalen Sensoranordnung durchführen kann und nicht auf die in dieser Schrift beschriebenen Beispiele beschränkt ist. Als ein Beispiel kann das Zieloptimierungsmodul 224 eine Sensoranordnung identifizieren, die undetektierbare Zonen minimiert, die sich in der Nähe eines Standorts befinden, an dem ein Mensch während des Betriebs des entsprechenden Roboters 102 positioniert sein kann.
-
Wenn das Zieloptimierungsmodul 224 eine Sensoranordnung identifiziert, die dem Pareto-optimalen Zustand entspricht, sendet das Sensorplatzierungsmodul 226 einen Befehl zum selektiven Positionieren mindestens eines Satzes der Erfassungsvorrichtungen 110 auf Grundlage der identifizierten Sensoranordnung an die Erfassungsvorrichtungen 110 und das Transportsystem 120 aus. Als ein Beispiel sendet das Sensorplatzierungsmodul 226 einen Befehl zum derartigen Bewegen des Satzes von Erfassungsvorrichtungen 110 entlang und/oder unter Verwendung des Transportsystems 120 aus, dass die Position des Satzes von Erfassungsvorrichtungen 110 der identifizierten Sensoranordnung entspricht. Als ein anderes Beispiel sendet das Sensorplatzierungsmodul 226 einen Befehl zum derartigen Drehen der Erfassungsvorrichtungen 110 unter Verwendung der Aktoren 114 an den Satz von Erfassungsvorrichtungen 110 aus, dass deren Ausrichtung der identifizierten Sensoranordnung entspricht.
-
In einer beispielhaften Anwendung und vor dem Durchführen der automatisierten Aufgaben durch die Roboter 102 identifiziert das Zieloptimierungsmodul 224 eine nominelle Sensoranordnung der Erfassungsvorrichtungen 110 für einen erwarteten/normalen Betriebszustand der Roboter 102, der Erfassungsvorrichtungen 110, des Transportsystems 120, statischer Objekte, die sich innerhalb des Arbeitsraums 100 befinden, und/oder beweglicher Objekte innerhalb des Arbeitsraums 100 (gemeinsam als „Arbeitsraumkomponenten“ bezeichnet). Das Sensorplatzierungsmodul 226 sendet dann einen Befehl zum derartigen Bewegen des Satzes von Erfassungsvorrichtungen 110 entlang und/oder unter Verwendung des Transportsystems 120 aus, dass die Position des Satzes von Erfassungsvorrichtungen 110 der nominellen Sensoranordnung entspricht. Wenn die Position des Satzes von Erfassungsvorrichtungen 110 der nominellen Sensoranordnung entspricht, sendet das Rechensystem 200 einen Befehl zum Beginnen mit dem Durchführen der entsprechenden automatisierten Aufgaben an die Roboter 102 aus. Wenn ein Betriebszustand einer Arbeitsraumkomponente von dem erwarteten/normalen Betrieb abweicht (z. B. ein Betriebsfehler von mindestens einem der Roboter 102, der Erfassungsvorrichtungen 110 und des Transportsystems 120, ein neues/neuer AGV/AMR, das/der in den Arbeitsraum 100 eintritt, sowie andere), sendet das Rechensystem 200 einen Befehl zum Aufhören mit dem Durchführen der entsprechenden automatisierten Aufgaben an die Roboter 102 aus. Das Zieloptimierungsmodul 224 identifiziert dann eine neue Sensoranordnung auf Grundlage der Abweichung von dem erwarteten/normalen Betrieb und das Sensorplatzierungsmodul 226 sendet einen Befehl zum derartigen Bewegen eines Satzes von Erfassungsvorrichtungen 110 entlang und/oder unter Verwendung des Transportsystems 120 aus, dass die Position des Satzes von Erfassungsvorrichtungen 110 der neuen Sensoranordnung entspricht. Demnach kann sich der Satz von Erfassungsvorrichtungen 110 auf Grundlage des Betriebszustands der Arbeitsraumkomponenten zwischen der/den neuen Sensoranordnung(en) und der nominellen Sensoranordnung bewegen.
-
Unter Bezugnahme auf 5 ist eine beispielhafte Simulationsroutine 500 bereitgestellt und die Simulationsroutine 500 wird durch das Rechensystem 200 durchgeführt. Bei 504 generiert das Rechensystem 200 die Voxelisierung 100', die einen oder mehrere Roboter 102', eine oder mehrere Erfassungsvorrichtungen 110' und ein oder mehrere Transportsysteme 120' aufweist. Bei 508 simuliert das Rechensystem 200 für eine gegebene Aufgabe einen Sensorbetrieb der Erfassungsvorrichtungen 110' auf Grundlage der Sensoreigenschaften und es identifiziert einen undetektierbaren Bereich innerhalb der Voxelisierung 100' auf Grundlage des simulierten Sensorbetriebs. Bei 512 identifiziert das Rechensystem 200 einen undetektierbaren Bereich, der mit jeder definierten Aufgabe assoziiert ist, und es positioniert bei 520 selektiv die Erfassungsvorrichtungen 110 auf Grundlage der undetektierbaren Bereiche. Als ein Beispiel sendet das Rechensystem 200 einen Befehl zum derartigen Bewegen und/oder Drehen von mindestens einem Satz der Erfassungsvorrichtungen 110' aus, dass ein Pareto-optimaler Zustand erreicht wird. Es versteht sich ohne Weiteres, dass die Simulationsroutine 500 lediglich eine beispielhafte Routine ist, die durch das Rechensystem 200 durchgeführt wird, und andere Routinen umgesetzt werden können.
-
Dementsprechend optimiert das in dieser Schrift beschriebene Rechensystem 200 die Sensorabdeckung des Arbeitsraums 100 auf Grundlage der mit jeder Aufgabe assoziierten undetektierbaren Bereiche und es sendet Befehle zum Einstellen einer Position und/oder Ausrichtung der Erfassungsvorrichtungen 110 auf Grundlage der undetektierbaren Bereiche aus. Demnach kann das Rechensystem 200 undetektierbare Bereiche (sowohl derzeitige als auch zukünftige undetektierbare Bereiche) reduzieren, die mit dynamischen Ereignissen entstehen können, die mit dem Arbeitsraum 100 assoziiert sind. Dynamische Ereignisse können unter anderem Folgendes beinhalten: die Einführung und/oder Rekonfiguration von Teilen, Robotern, Werkstücken und/oder Halterungen des Arbeitsraums; eine Roboterfehlfunktion in dem Arbeitsraum, die einen oder mehrere Roboter funktionsunfähig macht; und/oder Abweichungen von definierten Arbeitsprozessanweisungen.
-
Als ein Beispiel kann, wenn einer der Roboter 102 einen Zeitraum lang aufgrund eines Fehlers funktionsunfähig ist, ein neuer undetektierbarer Bereich auf Grundlage des funktionsunfähigen Roboters 102 entstehen. Demnach kann das Rechensystem 200, wenn ein Bediener neue Roboteraufgaben für die verbleibenden Roboter 102 definiert, eine neue Sensorkonfiguration identifizieren, die den Pareto-optimalen Zustand erfüllt, und einen Befehl zum Positionieren der Erfassungsvorrichtungen 110 gemäß der aktualisierten Sensorkonfiguration an die Erfassungsvorrichtungen 110 und/oder das Transportsystem 120 aussenden. Darüber hinaus kann das Rechensystem 200, wenn der funktionsunfähige Roboter 102 durch einen Bediener gewartet ist und somit dazu funktionsfähig ist, die entsprechenden automatisierten Aufgaben durchzuführen, einen Befehl zum Positionieren der Erfassungsvorrichtungen 110 gemäß der vorherigen Sensorkonfiguration an die Erfassungsvorrichtungen 110 und/oder das Transportsystem 120 aussenden. Als ein anderes Beispiel kann, wenn eine Arbeitsraumkomponente (z. B. Teile, Roboter 102, AGVs/AMRs oder Halterungen) in den Arbeitsraum 100 eingeführt und/oder innerhalb dieses bewegt wird, ein neuer undetektierbarer Bereich entstehen. Demnach kann das Rechensystem 200 auf Grundlage des aktualisierten Arbeitsraums 100 eine neue Sensorkonfiguration identifizieren, die den Pareto-optimalen Zustand erfüllt, und einen Befehl zum Positionieren der Erfassungsvorrichtungen 110 gemäß der aktualisierten Sensorkonfiguration an die Erfassungsvorrichtungen 110 und/oder das Transportsystem 120 aussenden. Darüber hinaus kann das Rechensystem 200, falls die Arbeitsraumkomponente den Arbeitsraum 100 verlässt, einen Befehl zum Positionieren der Erfassungsvorrichtungen 110 gemäß der vorherigen Sensorkonfiguration an die Erfassungsvorrichtungen 110 und/oder das Transportsystem 120 aussenden.
-
Als ein zusätzliches Beispiel kann eine Sensoranordnung bereitgestellt sein, um undetektierbare Bereiche zu reduzieren, die mit einem gegebenen Satz von Arbeitsprozessanweisungen eines gegebenen Arbeitsraums 100 assoziiert sind, was Laden eines Werkstücks auf eine Halterung, Bearbeiten des Werkstücks unter Verwendung der Roboter 102, Abladen des fertigen Werkstücks von der Halterung und Laden des fertigen Werkstücks auf ein AGV beinhalten kann. Wenn der Bediener eine der Arbeitsprozessanweisungen falsch durchführt, wie etwa in einen undetektierbaren Bereich des Arbeitsraums 100 eintritt, kann das Rechensystem 200 eine neue Sensorkonfiguration identifizieren, die den derzeitigen undetektierbaren Bereich detektiert, und einen Befehl zum Positionieren der Erfassungsvorrichtungen 110 gemäß der aktualisierten Sensorkonfiguration an die Erfassungsvorrichtungen 110 und/oder das Transportsystem 120 aussenden.
-
Sofern in dieser Schrift nicht ausdrücklich etwas anderes angegeben ist, sind alle numerischen Werte, die mechanische/thermische Eigenschaften, Prozentanteile von Zusammensetzungen, Abmessungen und/oder Toleranzen oder andere Eigenschaften angeben, so zu verstehen, dass sie durch das Wort „etwa“ oder „ungefähr“ modifiziert sind, wenn sie den Umfang der vorliegenden Offenbarung beschreiben. Diese Modifikation ist aus verschiedenen Gründen gewünscht, einschließlich industrieller Praxis; Material-, Fertigungs- und Montagetoleranzen; sowie Prüffähigkeit.
-
Wie in dieser Schrift verwendet, sollte die Formulierung mindestens eines von A, B und C dahingehend ausgelegt werden, dass sie ein logisches (A ODER B ODER C) bedeutet, wobei ein nicht ausschließendes logisches ODER verwendet wird, und sie sollte nicht dahingehend ausgelegt werden, dass sie „mindestens eines von A, mindestens eines von B und mindestens eines von C“ bedeutet.
-
Die Beschreibung der Offenbarung ist rein beispielhafter Natur und somit ist beabsichtigt, dass Variationen, die nicht vom Kern der Offenbarung abweichen, in den Umfang der Offenbarung fallen. Derartige Variationen sind nicht als Abweichung vom Geist und Umfang der Offenbarung zu betrachten.
-
In den Figuren zeigt die durch die Pfeilspitze angegebene Richtung eines Pfeils im Allgemeinen den Fluss von Informationen (wie etwa Daten oder Anweisungen) auf, der für die Veranschaulichung von Interesse ist. Zum Beispiel kann, wenn Element A und Element B vielfältige Informationen austauschen, für die Veranschaulichung aber Informationen relevant sind, die von Element A an Element B übertragen werden, der Pfeil von Element A zu Element B zeigen. Dieser unidirektionale Pfeil impliziert nicht, dass keine anderen Informationen von Element B an Element A übertragen werden. Ferner kann für Informationen, die von Element A an Element B gesendet werden, Element B Anforderungen oder Empfangsbestätigungen für die Informationen an Element A senden.
-
In dieser Anmeldung kann sich der Ausdruck „Modul“ und/oder „Steuerung“ auf Folgendes beziehen, Teil von Folgendem sein oder Folgendes beinhalten: eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit - ASIC); eine digitale, analoge oder gemischte analoge/digitale diskrete Schaltung; eine digitale, analoge oder gemischte analoge/digitale integrierte Schaltung; eine kombinatorische Logikschaltung; ein feldprogrammierbares Gate-Array (field programmable gate array - FPGA); eine Prozessorschaltung (geteilt, dediziert oder Gruppe), die Code ausführt; eine Speicherschaltung (geteilt, dediziert oder Gruppe), die Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Hardwarekomponenten, die die beschriebene Funktionalität bereitstellen; oder eine Kombination aus einigen oder allen der Vorstehenden, wie etwa in einem Ein-Chip-System.
-
Der Ausdruck Speicher ist eine Untergruppe des Ausdrucks computerlesbares Medium. Der Ausdruck computerlesbares Medium schließt im in dieser Schrift verwendeten Sinne keine transitorischen elektrischen oder elektromagnetischen Signale ein, die sich durch ein Medium (wie etwa auf einer Trägerwelle) ausbreiten; der Ausdruck computerlesbares Medium kann daher als greifbar und nichttransitorisch betrachtet werden. Nicht einschränkende Beispiele für ein nichttransitorisches, greifbares computerlesbares Medium sind nichtflüchtige Speicherschaltungen (wie etwa eine Flash-Speicher-Schaltung, eine Schaltung eines löschbaren programmierbaren Festwertspeichers oder eine Schaltung eines Masken-Festwertspeichers), flüchtige Speicherschaltungen (wie etwa eine Schaltung eines statischen Direktzugriffsspeichers oder eine Schaltung eines dynamischen Direktzugriffsspeichers), magnetische Speichermedien (wie etwa ein analoges oder digitales Magnetband oder ein Festplattenlaufwerk) und optische Speichermedien (wie etwa eine CD, eine DVD oder eine Blu-ray Disc).
-
Die in dieser Anmeldung beschriebenen Einrichtungen und Verfahren können teilweise oder vollständig durch einen Spezialcomputer umgesetzt sein, der durch Konfigurieren eines Universalcomputers zum Ausführen einer oder mehrerer konkreter Funktionen, die in Computerprogrammen verkörpert sind, erstellt wird. Die vorstehend beschriebenen Funktionsblöcke, Ablaufdiagrammkomponenten und anderen Elemente dienen als Softwarespezifikationen, die durch die Routinearbeit eines erfahrenen Technikers oder Programmierers in die Computerprogramme übersetzt werden können.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren zum Steuern einer Position eines oder mehrerer Sensoren eines Arbeitsraums, der einen oder mehrere Roboter beinhaltet, Folgendes: Generieren eines Arbeitsraummodells, das einen oder mehrere digitale Roboter, einen oder mehrere digitale Sensoren und ein digitales Transportsystem aufweist, wobei das Arbeitsraummodell ein digitales Modell des Arbeitsraums ist, wobei der eine oder die mehreren digitalen Roboter digitale Modelle des einen oder der mehreren Roboter sind und wobei der eine oder die mehreren digitalen Sensoren digitale Modelle des einen oder der mehreren Sensoren sind; Definieren einer oder mehrerer Aufgaben des einen oder der mehreren digitalen Roboter; Definieren von Sensoreigenschaften des einen oder der mehreren digitalen Sensoren, wobei die Sensoreigenschaften eine Ausrichtung der digitalen Sensoren, einen Standort der digitalen Sensoren entlang des digitalen Transportsystems oder eine Kombination daraus beinhalten; für jede der einen oder mehreren Aufgaben: Simulieren eines Sensorbetriebs des einen oder der mehreren digitalen Sensoren innerhalb des Arbeitsraummodells auf Grundlage der Sensoreigenschaften; Identifizieren eines undetektierbaren Bereichs innerhalb des Arbeitsraummodells auf Grundlage des simulierten Sensorbetriebs; Bestimmen eines aggregierten undetektierbaren Bereichs auf Grundlage der mit jeder der einen oder mehreren Aufgaben assoziierten undetektierbaren Bereiche; und Bestimmen auf Grundlage einer Routine zur multikriteriellen Optimierung, ob der aggregierte undetektierbare Bereich eine Detektionsmetrik erfüllt; und selektives Positionieren, durch ein Transportsystem, eines Satzes von Sensoren aus dem einen oder den mehreren Sensoren als Reaktion darauf, dass der aggregierte undetektierbare Bereich die Detektionsmetrik nicht erfüllt, wobei der eine oder die mehreren Sensoren mit dem Transportsystem wirkgekoppelt sind.