DE102019130639B4 - ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN - Google Patents

ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN Download PDF

Info

Publication number
DE102019130639B4
DE102019130639B4 DE102019130639.6A DE102019130639A DE102019130639B4 DE 102019130639 B4 DE102019130639 B4 DE 102019130639B4 DE 102019130639 A DE102019130639 A DE 102019130639A DE 102019130639 B4 DE102019130639 B4 DE 102019130639B4
Authority
DE
Germany
Prior art keywords
package
packages
placement
sequence
plan
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
DE102019130639.6A
Other languages
English (en)
Other versions
DE102019130639A1 (de
Inventor
Rosen Nikolaev Diankov
Denys Kanunikov
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.)
Mujin Inc
Original Assignee
Mujin Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of DE102019130639A1 publication Critical patent/DE102019130639A1/de
Application granted granted Critical
Publication of DE102019130639B4 publication Critical patent/DE102019130639B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • B65B57/10Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged
    • B65B57/14Automatic control, checking, warning, or safety devices responsive to absence, presence, abnormal feed, or misplacement of articles or materials to be packaged and operating to control, or stop, the feed of articles or material to be packaged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • B65G47/905Control arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/0485Check-in, check-out devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/16Stacking of articles of particular shape
    • B65G57/20Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical
    • B65G57/22Stacking of articles of particular shape three-dimensional, e.g. cubiform, cylindrical in layers each of predetermined arrangement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B35/00Supplying, feeding, arranging or orientating articles to be packaged
    • B65B35/30Arranging and feeding articles in groups
    • B65B35/50Stacking one article, or group of articles, upon another before packaging
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B57/00Automatic control, checking, warning, or safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2814/00Indexing codes relating to loading or unloading articles or bulk materials
    • B65G2814/03Loading or unloading means
    • B65G2814/0301General arrangements
    • B65G2814/0304Stacking devices
    • B65G2814/0305Adding to the top

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

Verfahren zum Betreiben eines Robotersystems (100), wobei das Verfahren Folgendes umfasst:Zugreifen auf einen Stapelplan (502) für das Platzieren von Paketen (362, 372, 452, 454, 532) auf einer Plattform (116), wobei der Stapelplan (502) eine dreidimensionale (3D) Abbildung der Pakete (362, 372, 452, 454, 532) entlang einer horizontalen Ebene der Plattform (116) und in mehreren Schichten auf der Plattform (116) darstellt und wobei der Stapelplan (502) eine Stapelsequenz (530, 720) beinhaltet, in der die Pakete (362, 372, 452, 454, 532) auf der Plattform (116) zu platzieren sind;Umsetzen eines Plans für das Empfangen der Pakete (362, 372, 452, 454, 532) nacheinander in einer Abfolge;iteratives Verarbeiten von jedem Paket (362, 372, 452, 454, 532) in der Abfolge, wobei das Verarbeiten Folgendes beinhaltet:Bestimmen einer Paket-ID eines Pakets, das in der Abfolge als nächstes kommt,Bestimmen einer Sequenz-ID (722) des Pakets unter Verwendung der Paket-ID (721) und des Stapelplans (502);Bestimmen, basierend auf der Sequenz-ID (722), ob das Paket in der Stapelsequenz (530, 720) für die Platzierung (805-819) auf der Plattform (116) als nächstes kommt,als Reaktion auf eine Bestimmung, dass das Paket in der Stapelsequenz (530, 720) für das Platzieren auf der Plattform (116) nicht als nächstes kommt, Umsetzen eines Plans für das Platzieren des Pakets in einem Lagerbereich (705, 795, 805), der sich von der Plattform (116) unterscheidet, undProtokollieren der Paket-ID (721) und einer Lagerposition des Pakets im Lagerbereich (705, 795, 805); unditeratives Verarbeiten von jedem Paket (362, 372, 452, 454, 532) aus einer Paketreihe, die diejenigen der Pakete (362, 372, 452, 454, 532) darstellt, die im Lagerbereich (705, 795, 805) gelagert sind, wobei das Verarbeiten Folgendes beinhaltet:Identifizieren eines ersten Pakets aus der Paketreihe, wobei das erste Paket in der Stapelsequenz (530, 720) für das Platzieren auf der Plattform (116) als nächstes kommt, Umsetzen eines Plans für das Entnehmen des ersten Pakets aus dem Lagerbereich (705, 795, 805) basierend auf den 3D-Informationen der Lagerposition des ersten Pakets; undUmsetzen eines Plans für das Platzieren des ersten Pakets auf der Plattform (116) gemäß dem Stapelplan (502).

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG(EN)
  • Der Gegenstand der Anmeldung bezieht sich auf eine gleichzeitig eingereichte US-Patentanmeldung von Rosen N. Diankov und Denys Kanunikov mit dem Titel „A ROBOTIC SYSTEM WITH PACKING MECHANISM“, die auf die die Mujin, Inc., angemeldet wurde, mit dem Aktenzeichen des Anwalts 131837-8005.US01, und ist vollumfänglich durch Bezugnahme hierin aufgenommen.
  • Der Gegenstand der Anmeldung bezieht sich auf eine gleichzeitig eingereichte US-Patentanmeldung von Rosen N. Diankov und Denys Kanunikov mit dem Titel „A ROBOTIC SYSTEM WITH DYNAMIC PACKING MECHANISM“, die auf die Mujin, Inc., angemeldet wurde, mit dem Aktenzeichen des Anwalts 131837-8006.US01, und ist vollumfänglich durch Bezugnahme hierin aufgenommen.
  • Der Gegenstand der Anmeldung bezieht sich auf eine gleichzeitig eingereichte US-Patentanmeldung von Rosen N. Diankov und Denys Kanunikov mit dem Titel „A ROBOTIC SYSTEM WITH ERROR DETECTION AND DYNAMIC PACKING MECHANISM“, die auf die Mujin, Inc., angemeldet wurde, mit dem Aktenzeichen des Anwalts 131837-8007.US01, und ist vollumfänglich durch Bezugnahme hierin aufgenommen.
  • Der Gegenstand der Anmeldung bezieht sich auf eine gleichzeitig eingereichte US-Patentanmeldung von Rosen N. Diankov und Denys Kanunikov mit dem Titel „ROBOTIC SYSTEM FOR PALLETIZING PACKAGES USING REAL-TIME PLACEMENT SIMULATION“, die auf die Mujin, Inc., angemeldet wurde, mit dem Aktenzeichen des Anwalts 131837-8009.US01, und ist vollumfänglich durch Bezugnahme hierin aufgenommen.
  • TECHNISCHES GEBIET
  • Die vorliegende Technologie bezieht sich im Allgemeinen auf Robotersysteme und insbesondere auf Systeme, Prozesse und Techniken für das Packen von Objekten.
  • ALLGEMEINER STAND DER TECHNIK
  • Aufgrund ihrer ständig wachsenden Leistung und sinkenden Kosten werden nun viele Roboter (z. B. Maschinen, die dazu konfiguriert sind, physische Handlungen automatisch/autonom auszuführen) in vielen Bereichen weitgehend verwendet. Beispielsweise können Roboter verwendet werden, um verschiedene Aufgaben (z. B. Steuern oder Übertragen eines Objekts durch einen Raum) beim Herstellen und/oder Zusammenbauen, Packen und/oder Verpacken, Transportieren und/oder Versenden usw. auszuführen. Bei dem Ausführen der Aufgaben können die Roboter menschliche Handlungen replizieren, wodurch menschliches Eingreifen, das anderenfalls zur Durchführung gefährlicher oder sich wiederholender Aufgaben erforderlich wäre, ersetzt oder reduziert wird.
  • Trotz der technischen Fortschritte fehlt Robotern jedoch oftmals die Ausgereiftheit, die notwendig ist, um menschliches Feingefühl und/oder menschliche Anpassungsfähigkeit, das bzw. die für die Ausführung komplexerer Aufgaben erforderlich ist, zu duplizieren. Beispielsweise fehlt Robotern oftmals die Detailtiefe für die Steuerung und Flexibilität bei den ausgeführten Handlungen, um Abweichungen und Unklarheiten, die aus verschiedenen Faktoren aus der realen Welt hervorgehen können, zu berücksichtigen. Dementsprechend gibt es noch immer einen Bedarf nach verbesserten Techniken und Systemen zum Steuern und Handhaben verschiedener Aspekte der Roboter, um die Aufgaben trotz der verschiedenen Faktoren aus der realen Welt abzuschließen.
  • In der Verpackungsindustrie nutzen traditionelle Systeme systemunabhängige Packsimulatoren, um die Packsequenz/-anordnung vorher zu bestimmen. Die traditionellen Packsimulatoren verarbeiten Objektinformationen (z. B. Formen/Größen von Behältern), um Packpläne zu erzeugen. Die Packpläne können spezifische Positionen/Stellungen für die Platzierung der Objekte an Zielorten (z. B. Paletten, Tonnen, Körbe, Kisten usw.), spezifische Sequenzen für die Platzierung und/oder vorbestimmte Bewegungspläne vorgeben und/oder erfordern. Anhand der erzeugten Packpläne leiten die traditionellen Packsimulatoren Startanforderungen (z. B. Sequenzen und/oder Platzierungen für die Objekte) ab, die mit den Packplänen übereinstimmen oder diese ermöglichen. Da die Packpläne in traditionellen Systemen systemunabhängig entwickelt werden, sind die Pläne unabhängig von tatsächlichen Packvorgängen/-bedingungen, Objektankünften und/oder anderen Systemumsetzungen. Dementsprechend erfordert der gesamte Betrieb/die gesamte Umsetzung, dass die aufgenommenen Pakete (z. B. an der Start-/Aufnahmeposition) festen Sequenzen folgen, die mit den vorbestimmten Packplänen übereinstimmen. Demnach können sich traditionelle Systeme nicht an Abweichungen der empfangenen Pakete (z. B. andere Sequenz, Position und/oder Ausrichtung), unerwartete Fehler (z. B. Kollisionen und/oder verlorengegangene Stücke), Echtzeit-Packanforderungen (z. B. empfangene Aufträge) und/oder andere Echtzeit-Faktoren anpassen.
  • Traditionelle Systeme können Objekte gemäß festen vorbestimmten Plänen gruppieren und packen. Zum Beispiel können traditionelle Systeme Objekte (z. B. Kisten oder Behälter) gemäß einem vorbestimmten Bewegungsplan auf eine Palette übertragen und dort platzieren. Dadurch erfordern die traditionellen Systeme entweder, dass alle Objekte an einer Startposition eine gleiche Abmessung/Art aufweisen, und/oder, dass gemäß einer bekannten Sequenz auf diese zugegriffen wird. Zum Beispiel erfordern traditionelle Systeme, dass Objekte (z. B. mittels einer Fördervorrichtung) gemäß einer festen Sequenz an einer Aufnahmeposition ankommen. Außerdem erfordern die traditionellen Systeme beispielsweise, dass die Objekte an der Aufnahmeposition gemäß einer vorbestimmten Stellung an speziellen Positionen zu platzieren sind. Somit erfordern traditionelle Systeme einen oder mehrere Vorgänge, um die Objekte am Start (d. h. vor dem Packvorgang) gemäß der vorbestimmten Sequenz/Ausrichtung zu sortieren oder zu platzieren. Das Bereitstellen der Pakete in einer spezifischen Sequenz für den Roboter kann für Menschen eine aufwendige Aufgabe sein. Es gibt einige Maschine, z. B. einen Shuttle-Sequenzierungspuffer, die Pakete in eine Reihenfolge bringen, bevor sie zur weiteren Anordnung zum Roboter weitergeleitet werden. Diese Maschinen können jedoch sehr teuer sein, Wartungen erfordern und erhebliche Ressourcen verbrauchen, wie etwa Platz und Energie.
  • Der für den Erfindungsgegenstand relevante Stand der Technik ist insbesondere durch DE 10 2018 008 744 A1 , DE 10 2017 122 361 A1 , DE 10 2016 013 497 A1 , DE 10 2018 006 465 A1 und US 5 501 571 A gegeben. Beispielsweise betrifft die DE 10 2018 008 744 A1 eine Einrichtung zum Berechnen eines Beladungsmusters und eine Robotersteuerung.
  • Die Probleme und technische Aufgaben, die sich aus dem Stand der Technik ergeben, werden durch das Verfahren gemäß dem Anspruch 1 sowie durch den Gegenstand der auf den Anspruch 1 rückbezogenen nebengeordneten Ansprüche 15 und 16 gelöst. Besondere Ausführungsformen sind durch die Merkmale gemäß den abhängigen Ansprüchen gegeben.
  • Figurenliste
    • 1 ist eine Veranschaulichung einer beispielhaften Umgebung, in der ein Robotersystem mit einem 3-dimensionalen Packmechanismus arbeiten kann.
    • 2 ist ein Blockdiagramm, welches das Robotersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie veranschaulicht.
    • 3A ist eine Veranschaulichung von diskretisierten Objekten gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 3B ist eine Veranschaulichung einer diskretisierten Packplattform gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 3C ist eine Veranschaulichung eines Platzierungsplanungsprozesses gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • Die 4A-4C sind Veranschaulichungen von Stapelregeln gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 5A ist eine Veranschaulichung eines beispielhaften Stapelplans gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 5B ist eine Veranschaulichung einer Stapelsequenz gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 6 ist ein Ablaufdiagramm zum Betreiben des Robotersystems aus 1 gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 7 ist eine beispielhafte Umgebung, in der das Robotersystem arbeiten kann, um Pakete zu verarbeiten, die außerhalb der Sequenz ankommen.
    • 8 ist ein Blockdiagramm, das ein Beispiel für verschiedene Phasen bei der Platzierung der verfügbaren Pakete an einer Aufgabenposition in Übereinstimmung mit verschiedenen Ausführungsformen veranschaulicht.
    • 9 ist ein Ablaufdiagramm eines Prozesses zur Platzierung verfügbarer Pakete an der Aufgabenposition unter Verwendung eines vorübergehenden Lagerbereichs in Übereinstimmung mit verschiedenen Ausführungsformen.
    • 10 ist ein Ablaufdiagramm eines weiteren Prozesses zur Platzierung verfügbarer Pakete an der Aufgabenposition unter Verwendung eines vorübergehenden Lagerbereichs in Übereinstimmung mit verschiedenen Ausführungsformen.
    • 11 ist ein Ablaufdiagramm eines weiteren Prozesses zur Platzierung verfügbarer Pakete an der Aufgabenposition unter Verwendung eines vorübergehenden Lagerbereichs in Übereinstimmung mit verschiedenen Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Systeme und Verfahren für ein Robotersystem mit Packmechanismus sind in der vorliegenden Schrift beschrieben. Das Robotersystem (z. B. ein integriertes System von Vorrichtungen, das eine oder mehrere spezielle Aufgaben ausführt), das gemäß einigen Ausführungsformen konfiguriert ist, stellt eine verbesserte Pack- und Lagereffizienz bereit, indem optimale Lagerpositionen für Objekte (z. B. Pakete) abgeleitet und diese entsprechend gestapelt werden. In einem Beispiel kann das Robotersystem die Pakete basierend auf einem Stapelplan unabhängig von einer Reihenfolge, in der die Pakete dem Roboter bereitgestellt werden, an einem Ziel (z. B. auf Paletten, in Tonnen, Körben, Kisten usw.) organisieren. Der Stapelplan beinhaltet typischerweise eine Sequenz oder eine Reihenfolge, in der die Pakete auf einer Palette zu platzieren sind, und zwar neben anderen Details, wie etwa spezifischen Platzierungspositionen/-stellungen der Pakete auf der Palette und/oder vorbestimmten Bewegungsplänen, die nachfolgend beschrieben sind. Das Robotersystem kann den Stapelplan für das Platzieren der Pakete auf der Palette in einer festgelegten Anordnung umsetzen, ohne dass die Pakete in einer vordefinierten Sequenz bereitgestellt werden müssen. Wenn beispielsweise die Pakete ankommen, z. B. nacheinander auf einem Förderband, identifiziert das Robotersystem ein Paket, z. B. basierend auf einem Barcode auf dem Paket, bestimmt eine Stapelsequenz des Pakets, platziert das Paket auf der Palette gemäß dem Stapelplan, wenn das Paket in der Sequenz für die Platzierung auf der Palette als nächstes kommt, lagert anderenfalls das Paket in einem Lagerbereich, z. B. auf einem von mehreren Lagerregalen, zur späteren Platzierung auf der Palette. Wenn das im Lagerbereich gelagerte Paket in der Sequenz für die Platzierung auf der Palette als nächstes kommt, nimmt das Robotersystem das Paket aus dem Lagerbereich und platziert das Paket gemäß dem Stapelplan auf der Palette. Durch das Verwenden eines vorübergehenden Lagerbereichs für das Lagern von Paketen, z. B. Paketen außerhalb der Sequenz, und das Verarbeiten dieser zu einem späteren Zeitpunkt, um sie in der Stapelsequenz auf der Palette zu platzieren, beseitigt das Robotersystem die Notwendigkeit, die Pakete in der Stapelsequenz zu empfangen, wodurch auch der Bedarf an Sequenziermaschinen beseitigt wird. Durch das Minimieren des Verbrauchs von Ressourcen führen die offenbarten Ausführungsformen dadurch zu einem verbesserten Robotersystem.
  • Das hierin beschriebene Robotersystem kann die Packpläne während des Systembetriebs erzeugen. Das Robotersystem kann einen Echtzeit- und/oder dynamischen Packplan während des Systembetriebs basierend auf verschiedenen Echtzeit-Bedingungen erzeugen. Echtzeit-Bedingungen können derzeit bestehende oder fortdauernde Bedingungen beinhalten, wie etwa tatsächliche Startsequenzen/-positionen/-stellungen von Objekten, Objektbedingungen und/oder -anforderungen, Platzierungsanforderungen und/oder andere Echtzeit-Faktoren. Das Robotersystem kann die Packpläne in Echtzeit erzeugen, wie etwa als Reaktion auf ein auslösendes Ereignis (z. B. einen empfangenen Auftrag/eine empfangene Anfrage, einen Lieferplan und/oder eine Betreibereingabe) gemäß aktuellen/fortdauernden Bedingungen und Faktoren zum Zeitpunkt der Packplanverarbeitung. In einigen Ausführungsformen können die Packpläne dynamisch (z. B. nach anfänglichem Starten eines oder mehrerer Vorgänge, wie etwa des tatsächlichen Packvorgangs) erzeugt und/oder angepasst werden, wie etwa als Reaktion auf ein entsprechendes Ereignis (z. B. einen Zeitpunkt einer Neubewertung, einen Pack-/Steuerungsfehler, wie etwa eine Kollision oder ein verlorengegangenes Stück, und/oder Vorhandensein anderer dynamischer Bedingungen).
  • Im Gegensatz zu den traditionellen Systemen kann das hierin beschriebene Robotersystem die Platzierungspläne in Echtzeit gemäß aktuellen/aktiven Bedingungen (z. B. Startsequenzen/-positionen/-stellungen von Objekten, Objektbedingungen und/oder - anforderungen usw.) erzeugen. In einigen Ausführungsformen kann das Robotersystem den Packplan basierend auf einem Diskretisierungsmechanismus (z. B. einem Prozess, einer Schaltung, einer Funktion und/oder einer Routine) erzeugen. Zum Beispiel kann das Robotersystem den Diskretisierungsmechanismus verwenden, um physische Größen/Formen von Objekten und/oder Zielpositionen gemäß einer Diskretisierungseinheit (d. h. einem diskreten Bereich/Raum) zu beschreiben. Das Robotersystem kann diskretisierte Objektprofile, die die Diskretisierungseinheiten verwenden, um die erwarteten Objekte zu beschreiben, und/oder diskretisierte Zielprofile, die die Zielposition (z. B. Fläche oben auf der Palette und/oder einen Raum/ eine untere Fläche innerhalb einer Tonne/eines Behälters/einer Kiste) beschreiben, erzeugen. Dementsprechend kann das Robotersystem einen durchgehenden Raum/Bereich der realen Welt in computerlesbare digitale Informationen umwandeln. Ferner können die diskretisierten Daten eine Reduzierung der Rechenkomplexität zum Beschreiben des Grundrisses des Pakets und zum Vergleichen verschiedener Paketplatzierungen ermöglichen. Zum Beispiel können die Paketabmessungen ganzen Zahlen von Diskretisierungseinheiten entsprechen, die zu einfacheren mathematischen Berechnungen führen, anstelle von Dezimalzahlen der realen Welt.
  • In einigen Ausführungsformen kann das Robotersystem den Packplan basierend auf dem Bestimmen von Objektgruppierungen erzeugen. Die Objektgruppierungen kann auf Objektbeschreibungen, wie etwa vom Kunden festgelegte Prioritäten, einem Objektzerbrechlichkeitsmaß (z. B. Stützgewichtseinschränkungen), einem Objektgewicht, einer Objekthöhe, einer Objektart und/oder anderen Aspekten der Objekte basieren. Das Robotersystem kann die Objektgruppierungen verwenden, um zweidimensionale (2D) Platzierungspläne zu erzeugen und zu beurteilen, die eine oder mehrere Objektgruppierungen beinhalten. Das Robotersystem kann die 2D-Platzierungspläne auswählen, die eine oder mehrere Bedingungen/Regeln erfüllen, und die ausgewählten 2D-Platzierungspläne in dreidimensionale (3D) Abbildungsergebnisse umwandeln. Die 3D-Abbildungsergebnisse können die Höhen der 2D-Platzierungspläne, wie etwa gemäß den Höhenmessungen der Objekte, die in den 2D-Platzierungsplänen enthalten sind, und ihre relativen Positionen innerhalb der Schicht beschreiben. Das Robotersystem kann die 3D-Abbildungsergebnisse zur vertikalen Sortierung/Sequenzierung beurteilen, um die 3D-Platzierungspläne zu erzeugen, die die vertikale Sequenz für die 2D-Platzierungspläne beinhalten. In einigen Ausführungsformen kann das Robotersystem die 2D-/3D-Platzierungspläne für Objekte in einem anfänglichen Zustand (z. B., bevor Objekte in der Zielzone platziert werden) und/oder für Objekte, die in einem nicht gepackten Zustand bleiben (z. B., nachdem ein oder mehrere Objekte in der Zielzone platziert wurden), erzeugen. Einzelheiten zur Objektgruppierung und zu den Platzierungsplänen sind nachfolgend beschrieben.
  • Das nachfolgend beschriebene Robotersystem kann vereinfachte und optimierte Verarbeitungsarchitekturen/-sequenzen für eine Echtzeit-Umsetzung nutzen. Zum Beispiel kann das Robotersystem (z. B. über eine Rechenvorrichtung des Verbrauchers, wie etwa einen Desktop, einen Server usw.) den Packplan basierend auf dem Echtzeit-Bedarf (z. B. einem empfangenen Auftrag) und/oder der Echtzeit-Verfügbarkeit (z. B. einem Lieferplan von eingehenden Objekten und/oder derzeit verfügbaren Objekten) erzeugen, ohne die traditionelle Sequenziervorrichtung und den traditionellen Simulator zu verwenden. Bei der Verwendung ohne Systemabhängigkeit, wie etwa zum Austausch der traditionellen Sequenziervorrichtungen und Simulatoren, kann das Robotersystem die systemunabhängigen Packpläne unter Verwendung einer einfacheren und günstigeren Lösung bereitstellen.
  • Dementsprechend kann das Robotersystem die Effizienz, Geschwindigkeit und Genauigkeit für das Packen der Objekte basierend auf dem Anpassen an Echtzeit-Bedingungen verbessern. Zum Beispiel kann das hierin beschriebene System die Platzierungspläne erzeugen, die mit dem derzeitigen Bedarf (z. B. den empfangenen Aufträgen), dem aktuellen Status (z. B. der Position, Ausrichtung und/oder Quantität/Verfügbarkeit) von Paketen und/oder dem Echtzeit-Status von vorher gestapelten/platzierten Paketen übereinstimmen und/oder diese angehen. Demnach kann das Robotersystem Pakete aufnehmen und packen, die in/an verschiedenen unterschiedlichen/unerwarteten Mengen, Positionen, Ausrichtungen und/oder Sequenzen vorliegen.
  • Ferner kann das Robotersystem die Gesamtkosten durch Beseitigen des einen oder der mehreren Vorgänge, der einen oder mehreren Maschinen (z. B. Sequenzpuffer) und/oder der menschlichen Unterstützung, die in traditionellen Systemen notwendig wären, um die Objekte am Start und/oder für den Packvorgang (z. B. zur Fehlerbehandlung) zu sortieren oder zu platzieren. Durch das Erzeugen des Packplans gemäß den bestehenden Paketzuständen (z. B. Menge, Position und/oder Ausrichtung) beseitigt das Robotersystem den Bedarf nach einer Umstrukturierung oder Sequenzierung der Pakete zusammen mit den zugehörigen maschinellen/menschlichen Bedienungen, um die Anforderungen von traditionellen Systemen zu erfüllen.
  • In der nachstehenden Beschreibung sind zahlreiche spezifische Details dargelegt, um ein tiefgreifendes Verständnis der vorliegend offenbarten Technologie zu gewährleisten. In anderen Ausführungsformen können die hier eingeführten Techniken ohne diese spezifischen Details in die Praxis umgesetzt werden. In anderen Fällen werden hinreichend bekannte Merkmale, wie etwa spezifische Funktionen oder Routinen, nicht ausführlich beschrieben, um die vorliegende Offenbarung nicht unnötig undeutlich zu machen. Bezugnahmen in dieser Beschreibung auf „eine Ausführungsform“ oder dergleichen bedeuten, dass ein/e bestimmte/s Merkmal, Struktur, Material oder Charakteristik, das bzw. die beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten sind. Somit bezieht sich das Auftreten derartiger Formulierungen in dieser Beschreibung nicht notwendigerweise allesamt auf die gleiche Ausführungsform. Andererseits schließen sich derartige Verweise nicht notwendigerweise gegenseitig aus. Zudem können die konkreten Merkmale, Strukturen, Materialien oder Eigenschaften in einer oder mehreren Ausführungsformen auf eine beliebige geeignete Weise kombiniert werden. Es versteht sich, dass die in den Figuren gezeigten verschiedenen Ausführungsformen lediglich veranschaulichende Darstellungen und nicht unbedingt maßstabsgetreu sind.
  • Mehrere Details, die Strukturen oder Prozesse beschreiben, die hinreichend bekannt und oftmals mit Robotersystemen und Teilsystemen assoziiert sind, die jedoch einige signifikante Aspekte der offenbarten Techniken unnötig undeutlich machen können, sind der Einfachheit halber in der folgenden Beschreibung nicht dargelegt. Wenngleich die folgende Offenbarung mehrere Ausführungsformen verschiedener Aspekte der vorliegenden Technologie darlegt, können darüber hinaus mehrere andere Ausführungsformen andere Konfigurationen oder andere Komponenten als die in diesem Abschnitt beschriebenen aufweisen. Dementsprechend können die offenbarten Techniken andere Ausführungsformen mit zusätzlichen Elementen oder ohne mehrere der Elemente, die nachfolgend beschrieben sind, aufweisen.
  • Viele Ausführungsformen oder Aspekte der vorliegenden Offenbarung, die nachfolgend beschrieben sind, können die Form von computer- oder prozessorausführbaren Anweisungen annehmen, einschließlich Routinen, die von einem programmierbaren Computer oder Prozessor ausgeführt werden. Der Fachmann erkennt, dass die offenbarten Techniken auf anderen Computer- oder Prozessorsystemen als den nachfolgend gezeigten und beschriebenen umgesetzt werden können. Die hierin beschriebenen Techniken können in einem Spezialcomputer oder einem Datenprozessor ausgeführt werden, der spezifisch programmiert, konfiguriert oder konstruiert ist, eine oder mehrere der nachfolgend beschriebenen computerausführbaren Anweisungen auszuführen. Dementsprechend beziehen sich die Begriffe „Computer“ und „Prozessor“, wie in der vorliegenden Schrift im Allgemeinen verwendet, auf einen beliebigen Datenprozessor und können Internetgeräte und tragbare Vorrichtungen umfassen (darunter Palmtop-Computer, tragbare Computer, Mobiltelefone, Mehrprozessorsysteme, prozessorbasierte oder programmierbare Unterhaltungselektronik, Netzwerkcomputer, Minicomputer und dergleichen). Informationen, die von diesen Computern und Prozessoren verarbeitet werden, können auf einem beliebigen geeigneten Anzeigemedium, einschließlich einer Flüssigkristallanzeige (liquid crystal display - LCD), dargestellt werden. Anweisungen zum Ausführen von computer- oder prozessorausführbaren Aufgaben können in oder auf einem beliebigen geeigneten computerlesbaren Medium, einschließlich Hardware, Firmware oder einer Kombination aus Hardware und Firmware, gespeichert sein. Anweisungen können in einer beliebigen geeigneten Speichervorrichtung enthalten sein, einschließlich zum Beispiel eines Flash-Laufwerks und/oder eines anderen geeigneten Mediums.
  • Die Ausdrücke „gekoppelt“ und „verbunden“ samt deren Ableitungen können hierin verwendet werden, um strukturelle Beziehungen zwischen den Komponenten zu beschreiben. Es versteht sich, dass diese Ausdrücke nicht als Synonyme füreinander bestimmt sind. Vielmehr kann „verbunden“ in bestimmten Ausführungsformen verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem Kontakt miteinander stehen. Sofern aus dem Kontext nicht anderweitig ersichtlich, kann der Ausdruck „gekoppelt“ verwendet werden, um anzugeben, dass zwei oder mehr Elemente entweder in direktem oder in indirektem Kontakt miteinander (mit anderen Zwischenelementen dazwischen) stehen oder dass die zwei oder mehr Elemente miteinander wirken oder interagieren (z. B. als eine Ursache-Wirkungs-Beziehung, wie etwa für die Signalübertragung/den Signalempfang oder für Funktionsaufrufe) oder beides.
  • Geeignete Umgebungen
  • 1 ist eine Veranschaulichung einer beispielhaften Umgebung, in der ein Robotersystem 100 mit einem Packmechanismus arbeiten kann. Das Robotersystem 100 kann eine oder mehrere Einheiten (z. B. Roboter) beinhalten und/oder mit diesen kommunizieren, die dazu konfiguriert sind, eine oder mehrere Aufgaben auszuführen. Aspekte des Packmechanismus können von den verschiedenen Einheiten praktiziert oder umgesetzt werden.
  • Für das in 1 veranschaulichte Beispiel kann das Robotersystem 100 eine Entladeeinheit 102, eine Übertragungseinheit 104 (z. B. einen Palettierungsroboter und/oder einen Stückaufnahmeroboter), eine Transporteinheit 106, eine Ladeeinheit 108 oder eine Kombination davon in einem Lager oder einem Verteil-/Versandzentrum beinhalten. Jede der Einheiten in dem Robotersystem 100 kann dazu konfiguriert sein, eine oder mehrere Aufgaben auszuführen. Die Aufgaben können nacheinander kombiniert werden, um einen Vorgang durchzuführen, der ein Ziel erreicht, wie etwa das Entladen von Objekten von einem Lastkraftwagen oder einem Lieferwagen und das Lagern dieser in einem Lager oder das Entladen von Objekten aus Lagerbereichen und Vorbereiten dieser für den Versand. In einem anderen Beispiel kann die Aufgabe das Platzieren der Objekte an einer Zielposition (z. B. oben auf einer Palette und/oder innerhalb einer Tonne/eines Korbs/einer Kiste/eines Behälters) umfassen. Wie nachfolgend beschrieben, kann das Robotersystem Pläne (z. B. Platzierungspositionen/-ausrichtungen, Sequenz für das Übertragen der Objekte und/oder entsprechende Bewegungspläne) für das Platzieren und/oder Stapeln der Objekte ableiten. Jede der Einheiten kann dazu konfiguriert sein, eine Sequenz von Handlungen (z. B. Betreiben einer oder mehrerer Komponenten darin) auszuführen, um eine Aufgabe auszuführen.
  • In einigen Ausführungsformen kann die Aufgabe das Steuern (z. B. das Bewegen und/oder Neuausrichten) eines Zielobjekts 112 (z. B. eines von den Paketen, Kisten, Behältern, Körben, Paletten usw., die der auszuführenden Aufgabe entsprechen) von einer Startposition 114 zu einer Aufgabenposition 116 beinhalten. Beispielsweise kann die Entladeeinheit 102 (z. B. ein Containerentladeroboter) konfiguriert sein, um das Zielobjekt 112 von einer Position auf einem Träger (z. B. einem Lastkraftwagen) zu einer Position auf einem Förderband zu übertragen. Außerdem kann die Übertragungseinheit 104 konfiguriert sein, um das Zielobjekt 112 von einer Position (z. B. dem Förderband, einer Palette oder einer Tonne) zu einer anderen Position (z. B. einer Palette, einer Tonne usw.) zu übertragen. In einem anderen Beispiel kann die Übertragungseinheit 104 (z. B. ein Palettierungsroboter) konfiguriert sein, um das Zielobjekt 112 von einer Startposition (z. B. einer Palette, einem Aufnahmebereich und/oder einer Fördervorrichtung) zu einer Zielpalette zu übertragen. Beim Abschließen des Vorgangs kann die Transporteinheit 106 das Zielobjekt 112 von einem Bereich, der mit der Übertragungseinheit 104 assoziiert ist, zu einem Bereich, der mit der Ladeeinheit 108 assoziiert ist, übertragen, und die Ladeeinheit 108 kann das Zielobjekt 112 (z. B. durch Bewegen der Palette, die das Zielobjekt 112 trägt) von der Übertragungseinheit 104 zu einer Lagerposition (z. B. einer Position auf den Regalen) übertragen. Einzelheiten bezüglich der Aufgabe und der assoziierten Handlungen sind nachfolgend beschrieben.
  • Zum Zwecke der Veranschaulichung ist das Robotersystem 100 im Kontext eines Versandzentrums beschrieben; jedoch versteht es sich, dass das Robotersystem 100 dazu konfiguriert sein kann, Aufgaben in anderen Umgebungen/zu anderen Zwecken auszuführen, wie etwa für die Herstellung, den Zusammenbau, das Verpacken, die Gesundheitspflege und/oder andere Arten von Automatisierung. Es versteht sich außerdem, dass das Robotersystem 100 andere Einheiten beinhalten kann, wie etwa Handhabungsvorrichtungen, Serviceroboter, modulare Roboter usw., die in 1 nicht gezeigt sind. In einigen Ausführungsformen kann das Robotersystem 100 zum Beispiel eine Depalettierungseinheit für das Übertragen der Objekte von Korbwägen oder Paletten auf Fördervorrichtungen oder andere Paletten, eine Containerwechseleinheit für das Übertragen der Objekte von einem Container auf einen anderen, eine Verpackungseinheit für das Einwickeln der Objekte, eine Sortiereinheit für das Gruppieren von Objekten gemäß einer oder mehreren Charakteristika davon, eine Stückaufnahmeeinheit für das unterschiedliche Steuern (z. B. Sortieren, Gruppieren und/oder Übertragen) der Objekte gemäß einer oder mehreren Charakteristika davon oder eine Kombination davon beinhalten.
  • Geeignetes System
  • 2 ist ein Blockdiagramm, welches das Robotersystem 100 gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie veranschaulicht. In einigen Ausführungsformen kann das Robotersystem 100 (z. B. an einer/einem oder mehreren der Einheiten und/oder Roboter, wie vorstehend beschrieben) zum Beispiel elektronische/elektrische Vorrichtungen, wie etwa einen oder mehrere Prozessoren 202, eine oder mehrere Speichervorrichtungen 204, eine oder mehrere Kommunikationsvorrichtungen 206, eine oder mehrere Eingabe-/Ausgabevorrichtungen 208, eine oder mehrere Betätigungsvorrichtungen 212, einen oder mehrere Transportmotoren 214, einen oder mehrere Sensoren 216 oder eine Kombination davon beinhalten. Die verschiedenen Vorrichtungen können über drahtgebundene Verbindungen und/oder drahtlose Verbindungen aneinander gekoppelt sein. Zum Beispiel kann das Robotersystem 100 einen Bus, wie etwa einen Systembus, einen Peripheral-Component-Interconnect(PCI)-Bus oder PCI-Express-Bus, einen HyperTransport- oder Industry-Standard-Architecture(ISA)-Bus, einen Small-Computer-System-Interface(SCSI)-Bus, einen Universal Serial Bus (USB), einen IIC(I2C)-Bus oder einen Institute-of-Electrical-and-Electronics-Engineers(IEEE)-Standard-1394-Bus (auch als „Firewire“ bezeichnet), beinhalten. Beispielsweise kann das Robotersystem 100 auch Brücken, Adapter, Prozessoren oder andere signalbezogene Vorrichtungen zum Bereitstellen der drahtgebundenen Verbindungen zwischen den Vorrichtungen beinhalten. Die drahtlosen Verbindungen können beispielsweise auf zellulären Kommunikationsprotokollen (z. B. 3G, 4G, LTE, 5G usw.), drahtlosen Local-Area-Network(LAN)-Protokollen (z. B. Wireless Fidelity (WiFi)), Peer-to-Peer- oder Vorrichtungzu-Vorrichtung-Kommunikationsprotokollen (z. B. Bluetooth, Nachbereichskommunikation (NFC) usw.), Internet-der-Dinge(Internet of Things - IoT)-Protokollen (z. B. NB-IoT, LTE-M usw.) und/oder anderen drahtlosen Kommunikationsprotokollen basieren.
  • Die Prozessoren 202 können Datenprozessoren (z. B. zentrale Verarbeitungseinheiten (central processing units - CPU), Spezialcomputer und/oder integrierte Server) umfassen, die konfiguriert sind, um Anweisungen (z. B. Software-Anweisungen), die in den Speichervorrichtungen 204 (z. B. Computerspeicher) gespeichert sind, auszuführen. In einigen Ausführungsformen können die Prozessoren 202 in einer separaten/eigenständigen Steuerung enthalten sein, die an die anderen in 2 veranschaulichten elektronischen/elektrischen Vorrichtungen und/oder den in 1 veranschaulichten Robotereinheiten wirkgekoppelt ist. Die Prozessoren 202 können die Programmanweisungen umsetzen, um andere Vorrichtungen zu steuern bzw. eine Schnittstelle damit zu bilden, wodurch das Robotersystem 100 dazu veranlasst wird, Handlungen, Aufgaben und/oder Vorgänge auszuführen.
  • Bei den Speichervorrichtungen 204 kann es sich um nicht flüchtige computerlesbare Medien handeln, auf denen Programmanweisungen (z. B. Software) gespeichert sind. Einige Beispiele für die Speichervorrichtungen 204 umfassen flüchtigen Speicher (z. B. Cache und/oder Direktzugriffsspeicher (random-access memory - RAM)) und/oder nicht flüchtigen Speicher (z. B. Flash-Speicher und/oder Magnetplatteneinheiten). Andere Beispiele für die Speichervorrichtungen 204 können tragbare Speichervorrichtungen und/oder Cloud-Speichervorrichtungen umfassen.
  • In einigen Ausführungsformen können die Speichervorrichtungen 204 verwendet werden, um zudem Verarbeitungsergebnisse und/oder vorbestimmte Daten/Schwellenwerte zu speichern und Zugriff darauf bereitzustellen. Zum Beispiel können die Speichervorrichtungen 204 Masterdaten 252 speichern, die Beschreibungen von Objekten (z. B. Kisten, Behältern und/oder Produkten) beinhalten, die von dem Robotersystem 100 gesteuert werden können. In einer oder mehreren Ausführungsformen können die Masterdaten 252 eine Abmessung, eine Form (z. B. Vorlagen für mögliche Stellungen und/oder von Computern erzeugte Modelle für das Erkennen des Objekts in unterschiedlichen Stellungen), ein Farbschema, ein Bild, Identifizierungsinformationen (z. B. Barcodes, Quick-Response(QR)-Codes, Logos usw. und/oder erwartete Positionen davon), ein erwartetes Gewicht, andere physische/visuelle Charakteristika oder eine Kombination davon für die Objekte, die von dem Robotersystem 100 erwartungsgemäß zu steuern sind, beinhalten. In einigen Ausführungsformen können die Masterdaten 252 steuerungsbezogene Informationen bezüglich der Objekte beinhalten, wie etwa eine Massenmittelpunkt (center of mass - CoM)-Position an jedem der Objekte, erwartete Sensormessungen (z. B. für Kraft-, Drehmoment-, Druck- und/oder Kontaktmessungen), die einer/einem oder mehreren Handlungen/Manövern entsprechen, oder eine Kombination davon. Außerdem können die Speichervorrichtungen 204 beispielsweise Objektverfolgungsdaten 254 speichern. In einigen Ausführungsformen können die Objektverfolgungsdaten 254 ein Protokoll von gescannten oder gesteuerten Objekten beinhalten. In einigen Ausführungsformen können die Objektverfolgungsdaten 254 Bildgebungsdaten (z. B. ein Bild, eine Punktwolke, eine Live-Videoübertragung usw.) der Objekte an einer oder mehreren Positionen (z. B. speziellen Aufnahme- oder Abgabepositionen und/oder Förderbänder) beinhalten. In einigen Ausführungsformen können die Objektverfolgungsdaten 254 Positionen und/oder Ausrichtungen der Objekte an der einen oder den mehreren Positionen beinhalten.
  • Die Kommunikationsvorrichtungen 206 können Schaltungen beinhalten, die dazu konfiguriert sind, über ein Netzwerk mit externen oder entfernten Vorrichtungen zu kommunizieren. Beispielsweise können die Kommunikationsvorrichtungen 206 Empfänger, Sender, Modulatoren/Demodulatoren (Modems), Signaldetektoren, Signalcodierer/- decodierer, Verbindungsanschlüsse, Netzwerkkarten usw. umfassen. Die Kommunikationsvorrichtungen 206 können konfiguriert sein, um elektrische Signale gemäß einem oder mehreren Kommunikationsprotokollen (z. B. dem Internetprotokoll (IP), den drahtlosen Kommunikationsprotokollen usw.) zu senden, zu empfangen und/oder zu verarbeiten. In einigen Ausführungsformen kann das Robotersystem 100 die Kommunikationsvorrichtungen 206 verwenden, um Informationen zwischen Einheiten des Robotersystems 100 auszutauschen und/oder Informationen (z. B. zum Zwecke der Berichterstattung, der Datenerfassung, der Analyse und/oder der Fehlerbehebung) mit Systemen oder Vorrichtungen außerhalb des Robotersystems 100 auszutauschen.
  • Die Eingabe-/Ausgabevorrichtungen 208 können Benutzerschnittstellenvorrichtungen umfassen, die konfiguriert sind, um Informationen an die menschlichen Bediener zu kommunizieren und/oder Informationen von diesen zu empfangen. Beispielsweise können die Eingabe-/Ausgabevorrichtungen 208 eine Anzeige 210 und/oder andere Ausgabevorrichtungen (z. B. einen Lautsprecher, eine haptische Schaltung oder eine Tastrückmeldungsvorrichtung usw.) zum Kommunizieren von Informationen an den menschlichen Bediener umfassen. Zudem können die Eingabe-/Ausgabevorrichtungen 208 Steuer- oder Empfangsvorrichtungen umfassen, wie etwa eine Tastatur, eine Maus, einen Touchscreen, ein Mikrofon, einen Benutzerschnittstellen (user interface - UI)-Sensor (z. B. eine Kamera für das Empfangen von Bewegungsbefehlen), eine tragbare Eingabevorrichtung usw. In einigen Ausführungsformen kann das Robotersystem 100 die Eingabe-/Ausgabevorrichtungen 208 verwenden, um mit den menschlichen Bedienern bei der Ausführung einer Handlung, einer Aufgabe, eines Vorgangs oder einer Kombination davon zu interagieren.
  • Das Robotersystem 100 kann physische oder strukturelle Elemente (z. B. Robotersteuerarme) umfassen, die zur Bewegung an Gelenken verbunden sind (z. B. Rotations- und/oder Translationsverschiebungen). Die strukturellen Elemente und die Gelenke können eine kinetische Kette bilden, die konfiguriert ist, um einen Endeffektor (z. B. den Greifer) zu steuern, der konfiguriert ist, um eine oder mehrere Aufgaben (z. B. Greifen, Drehen, Schweißen usw.) in Abhängigkeit von der Verwendung/dem Betrieb des Robotersystems 100 auszuführen. Das Robotersystem 100 kann die Betätigungsvorrichtungen 212 (z. B. Motoren, Aktoren, Drähte, künstlichen Muskeln, elektroaktiven Polymere usw.) umfassen, die konfiguriert sind, um die strukturellen Elemente um ein entsprechendes Gelenk oder daran anzutreiben oder zu steuern (z. B. zu verschieben und/oder neu auszurichten). In einigen Ausführungsformen kann das Robotersystem 100 die Transportmotoren 214 umfassen, die konfiguriert sind, um die entsprechenden Einheiten/Gehäuse von Ort zu Ort zu transportieren.
  • Das Robotersystem 100 kann die Sensoren 216 umfassen, die konfiguriert sind, um Informationen abzurufen, die verwendet werden, um die Aufgaben umzusetzen, wie etwa zum Steuern der strukturellen Elemente und/oder zum Transportieren der Robotereinheiten. Die Sensoren 216 können Vorrichtungen umfassen, die konfiguriert sind, um eine oder mehrere physische Eigenschaften des Robotersystems 100 (z. B. einen Zustand, eine Bedingung und/oder eine Position von einem oder mehreren strukturellen Elementen/Gelenken davon) und/oder einer unmittelbaren Umgebung zu erkennen oder zu messen. Zu einigen Beispielen für die Sensoren 216 können Beschleunigungsmesser, Gyroskope, Kraftsensoren, Dehnungsmesser, Berührungssensoren, Drehmomentsensoren, Positionscodierer usw. gehören.
  • In einigen Ausführungsformen können die Sensoren 216 beispielsweise eine oder mehrere Bildgebungsvorrichtungen 222 (z. B. visuelle und/oder Infrarotkameras, 2D- und/oder 3D-Bildaufnahmekameras, Abstandsmessvorrichtungen, wie etwa Lidar oder Radar, usw.) umfassen, die konfiguriert sind, um die unmittelbare Umgebung zu erkennen. Die Bildgebungsvorrichtungen 222 können Darstellungen der detektierten Umgebung erzeugen, wie etwa digitale Bilder und/oder Punktwolken, die durch Maschinen-/Computervision verarbeitet werden können (z. B. zur automatischen Inspektion, Roboterführung oder für andere Roboteranwendungen). Wie nachfolgend ausführlicher beschrieben, kann das Robotersystem 100 (z. B. über die Prozessoren 202) das digitale Bild und/oder die Punktwolke verarbeiten, um das Zielobjekt 112 aus 1, die Startposition 114 aus 1, die Aufgabenposition 116 aus 1, eine Stellung des Zielobjekts 112, ein Konfidenzmaß bezüglich der Startposition 114 und/oder der Stellung oder eine Kombination davon zu identifizieren.
  • Zur Steuerung des Zielobjekts 112 kann das Robotersystem 100 (z. B. über die verschiedenen vorstehend beschriebenen Schaltungen/Vorrichtungen) ein Bild eines speziellen Bereichs (z. B. einer Aufnahmeposition, wie etwa innerhalb des Lastkraftwagens oder auf dem Förderband) erfassen und analysieren, um das Zielobjekt 112 und die Startposition 114 davon zu identifizieren. Gleichermaßen kann das Robotersystem 100 ein Bild eines anderen festgelegten Bereichs (z. B. einer Ablageposition zum Platzieren von Objekten auf dem Förderband, einer Position zum Platzieren von Objekten innerhalb des Containers oder einer Position auf der Palette zum Stapeln) erfassen und analysieren, um die Aufgabenposition 116 zu erkennen. Beispielsweise können die Bildgebungsvorrichtungen 222 eine oder mehrere Kameras, die konfiguriert sind, um Bilder des Aufnahmebereichs zu erzeugen, und/oder eine oder mehrere Kameras, die konfiguriert sind, um Bilder des Aufgabebereichs (z. B. Ablagebereichs) zu erzeugen, umfassen. Basierend auf den erfassten Bildern, wie nachfolgend beschrieben, kann das Robotersystem 100 die Startposition 114, die Aufgabenposition 116, die assoziierten Stellungen, einen Pack-/Platzierungsplan, eine Übertragungs-/Packsequenz und/oder andere Verarbeitungsergebnisse bestimmen. Einzelheiten bezüglich des Packalgorithmus sind nachfolgend beschrieben.
  • In einigen Ausführungsformen können die Sensoren 216 beispielsweise Positionssensoren 224 (z. B. Positionscodierer, Potentiometer usw.) beinhalten, die dazu konfiguriert sind, Positionen von strukturellen Elementen (z. B. den Roboterarmen und/oder den Endeffektoren) und/oder entsprechenden Gelenken des Robotersystems 100 zu detektieren. Das Robotersystem 100 kann die Positionssensoren 224 verwenden, um Positionen und/oder Ausrichtungen der strukturellen Elemente und/oder der Gelenke während der Ausführung der Aufgabe zu verfolgen.
  • Verarbeitung des Diskretisierungsmodells
  • 3A und 3B sind Veranschaulichungen von diskretisierten Daten, die verwendet werden, um Objekte gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie zu planen und zu packen. 3A veranschaulicht diskretisierte Objekte und 3B veranschaulicht eine diskretisierte Packplattform für das Packen von Objekten und Planen davon. Zum Beispiel kann das Robotersystem 100 aus 1 (z. B. über die Prozessoren 202 aus 2) durchgehende Flächen/Kanten von Objekten der realen Welt (z. B. Paketen, Paletten und/oder anderen Objekten, die mit der Aufgabe assoziiert sind) in diskrete Gegenstücke (z. B. Längeneinheiten und/oder Flächeneinheiten) abbilden. Außerdem kann das Robotersystem 100 diskretisierte Modelle/Darstellungen der erwarteten Objekte, die in den Masterdaten 252 aus 2 gespeichert sind, beinhalten.
  • In einigen Ausführungsformen, wie in 3A veranschaulicht, kann das Robotersystem 100 diskretisierte Objektmodelle 302 verwenden, um Stapelplatzierungen von Objekten zu planen/abzuleiten. Die diskretisierten Objektmodelle 302 (in gepunkteten Linien gezeigt) können äußere physische Abmessungen, Formen, Kanten, Flächen oder eine Kombination davon (in durchgezogenen Linien gezeigt) für bekannte und/oder erwartete Objekte (z. B. Pakete, Kisten, Behälter usw.) gemäß einer Diskretisierungseinheit (z. B. einer Längeneinheit) darstellen. In einigen Ausführungsformen, wie in 3B veranschaulicht, kann das Robotersystem 100 ein oder mehrere diskretisierte Plattformmodelle 304 verwenden, um Stapelplatzierungen von Objekten zu planen/abzuleiten. Die diskretisierten Plattformmodelle 304 können eine Platzierungsfläche (z. B. eine obere Fläche der Palette) gemäß der Diskretisierungseinheit darstellen. In einigen Ausführungsformen kann die Diskretisierungseinheit eine Länge beinhalten, die von einem Systembetreiber, einem System-Designer, einer vorbestimmten Eingabe/Einstellung oder einer Kombination davon voreingestellt wird.
  • In einigen Ausführungsformen können die diskretisierten Plattformmodelle 304 Draufsichten von einer oder mehreren Paletten mit Standardgröße (z. B. Paletten mit 1,1 m mal 1,1 m) beinhalten. Dementsprechend können die diskretisierten Plattformmodelle 304 verpixelten 2D-Darstellungen der oberen Flächen der Palette entlang einer horizontalen Ebene (z. B. der x-y-Ebene) gemäß einem von dem Robotersystem 100 verwendeten Rastersystem entsprechen. In einigen Ausführungsformen können die diskretisierten Objektmodelle 302 Draufsichten (z. B. x-y-Ebene, wie auf der linken Seite in 3A veranschaulicht) und/oder horizontale/Profilansichten (z. B. x-z-Ebene, wie auf der rechten Seite veranschaulicht) für die Objekte, die von dem Robotersystem 100 erwartet werden bzw. diesem bekannt sind, beinhalten. Dementsprechend können die diskretisierten Objektmodelle 302 verpixelten 2D-/3D-Darstellungen der Objekte entsprechen.
  • Als ein veranschaulichendes Beispiel kann das Robotersystem 100 Einheitspixel 310 (z. B. Polygone, wie etwa Quadrate, mit einer oder mehreren Abmessungen gemäß der Diskretisierungseinheit) verwenden, um Bereiche/Flächen von angezielten Objekten (z. B. über die diskretisierten Objektmodelle 302) und Beladeplattformen (z. B. über die diskretisierten Plattformmodelle 304) zu beschreiben. Dementsprechend kann das Robotersystem 100 die Objekte und die Beladeplattformen entlang den x-y-Achsen verpixeln. In einigen Ausführungsformen kann sich die Größe der Einheitspixel 310 (z. B. der Diskretisierungseinheit) gemäß den Abmessungen der Objekte und/oder Abmessungen der Beladeplattformen verändern. Die Größe der Einheitspixel 310 kann auch (z. B. über eine voreingestellte Regel/Gleichung und/oder eine Auswahl des Bedieners) eingestellt werden, um erforderliche Ressourcen (z. B. Rechenzeiten, erforderlichen Speicher usw.) an der Packgenauigkeit anzupassen. Wenn die Größe abnimmt, können beispielsweise die Rechenzeiten und die Packgenauigkeit zunehmen. Dementsprechend stellt die Diskretisierung der Packaufgaben (z. B. die Zielpakete und die Packplattformen) unter Verwendung einstellbarer Einheitspixel 310 eine erhöhte Flexibilität für das Palettieren der Pakete bereit. Das Robotersystem 100 kann einen Ausgleich zwischen den Rechenressourcen/der Rechenzeit und der Packgenauigkeit gemäß eindeutigen Szenarien, Mustern und/oder Umgebungen steuern.
  • Für die in 3A und 3B veranschaulichten Szenarien kann das Robotersystem 100 Objekte erwarten/verarbeiten, die einer ersten Paketart 321, einer zweiten Paketart 322, einer dritten Paketart 323, einer vierten Paketart 324 und/oder einer fünften Paketart 325 entsprechen. Das Robotersystem 100 kann die Pakete auf einer Platzierungspalette 340, die der Aufgabenposition 116 aus 1 entspricht, planen und platzieren/stapeln. Für die Platzierungsplanung kann das Robotersystem 100 die diskretisierten Objektmodelle 302, einschließlich eines ersten Objektmodells 331, eines zweiten Objektmodells 332, eines dritten Objektmodells 333, eines vierten Objektmodells 334 und/oder eines fünften Objektmodells 335, die jeweils die entsprechenden Pakete darstellen, unter Verwendung der Einheitspixel 310 erzeugen und/oder verwenden. Gleichermaßen kann das Robotersystem 100 das diskretisierte Plattformmodell 304 für die Platzierungspalette 340 unter Verwendung der Einheitspixel 310 erzeugen und/oder verwenden.
  • In einigen Ausführungsformen kann das Robotersystem 100 die tatsächliche Abmessung des Objekts aufrunden (z. B. für die diskretisierten Objektmodelle 302, wie etwa für das dritte Objektmodell 333 und/oder das vierte Objektmodell 334), sodass die Einheitspixel 310 sich über die tatsächlichen Umfangskanten des Objekts hinaus erstrecken. In einigen Ausführungsformen kann das Robotersystem 100 die tatsächlichen Abmessungen der Plattformfläche abrunden (z. B. für die diskretisierten Plattformmodelle 304), sodass die Einheitspixel 310 sich überlappen und/oder in den tatsächlichen Umfangskanten des Objekts enthalten sind.
  • Basierend auf den diskretisierten Daten/Darstellungen kann das Robotersystem 100 einen Platzierungsplan 350 für das Platzieren/Packen der Pakete auf die Platzierungspalette 340 erzeugen. Der Platzierungsplan 350 kann geplante Positionen auf der Platzierungspalette 340 für die angezielten Pakete beinhalten. Das Robotersystem 100 kann den Platzierungsplan 350 für das Platzieren von einem oder mehreren von verfügbaren Paketen, die für das Beladen/Palettieren bestimmt sind, erzeugen. Zum Beispiel kann das Robotersystem 100 den Platzierungsplan 350 für das Stapeln einer Reihe von Paketen von den verfügbaren Paketen (z. B. aufgenommenen Paketen und/oder ausgehenden beauftragten Paketen) erzeugen.
  • Das Robotersystem 100 kann den Platzierungsplan 350 gemäß einer Reihe von Platzierungsregeln, Platzierungsbedingungen, Parametern, Anforderungen usw. erzeugen. In einigen Ausführungsformen kann das Robotersystem 100 den Platzierungsplan 350 basierend auf Paketen, die gemäß der Reihe gruppiert sind, wie etwa gemäß den Paketarten (z. B. Paketarten 321-325), den Pakethöhen, der vom Kunden festgelegten Priorität, der Zerbrechlichkeit (z. B. dem maximal unterstützten Gewicht, wie etwa für darauf gestapelte Pakete), dem Gewichtsbereich oder einer Kombination davon, erzeugen. In einigen Ausführungsformen kann das Robotersystem 100 den Platzierungsplan 350 gemäß den Stapelbedingungen, wie z. B. Stapeln der größeren Pakete weiter weg von der Depalettierungseinheit, erzeugen. Andere Beispiele für die Platzierungsregeln, Bedingungen, Parameter, Anforderungen usw. können Paketabmessungen, kollisionsfreie Anforderung, Stapelstabilität, Gruppierungsbedingungen (z. B. Paketarten, Pakethöhen, Priorität usw.), Pakettrennungsanforderungen oder das Fehlen davon, Maximierung der insgesamt beladenen Pakete oder eine Kombination davon beinhalten. Einzelheiten zur Platzierungsplanung sind nachfolgend beschrieben.
  • Für das in 3B veranschaulichte Beispiel kann das Robotersystem 100 den 2D-Platzierungsplan (z. B. den Platzierungsplan 350) für eine Reihe von Paketen, die den Paketarten 321-325 entsprechen, erzeugen. Das Robotersystem 100 kann den Platzierungsplan 350 erzeugen, der drei Pakete der ersten Paketart 321, vier Pakete der zweiten Paketart 322, vier Pakete der dritten Paketart 323, fünf Pakete der vierten Paketart 324 und vier Pakete der fünften Paketart 325 platziert. Der Platzierungsplan 350 kann die Pakete gruppieren, um benachbarte Gruppierungen von Paketen mit ähnlicher Höhe (z. B. gleich oder innerhalb einer Schwellengrenze voneinander) zu maximieren. Dementsprechend kann das Robotersystem 100 die vier der zweiten Paketart 322 in einer Anordnung von 2x2 in der unteren linken Ecke der Platzierungspalette 340 gruppieren. Eine zweite Gruppierung von Paketen (z. B. den Paketen der ersten Paketart 321, der vierten Paketart 324 und der fünften Paketart 325) kann um die anfänglich platzierte Gruppe platziert werden. Dementsprechend können der durchgehende Flächenbereich für die erste Gruppierung (z. B. bei einer Höhe von vier Einheitspixeln 310) und der Flächenbereich für die zweite Gruppierung (z. B. bei einer Höhe von zwei Einheitspixeln 310) maximiert werden. Außerdem kann das Robotersystem 100 die Pakete der dritten Paketart 323 basierend auf einer oder mehreren Anforderungen, wie etwa Zerbrechlichkeit (z. B. die Anzahl an unterstützten Elementen einschränkend) und/oder Trennungsanforderungen, trennen. Gleichermaßen kann das Robotersystem 100 den 2D-Platzierungsplan gemäß Grenzanforderungen (z. B. einem oder mehreren der Einheitspixel 310 von der Kante der Platzierungspalette 340) erzeugen.
  • In einigen Ausführungsformen kann das Robotersystem 100 den Platzierungsplan 350 basierend auf einer 2D-Planung (z. B. x-y-Grundfläche, wie etwa Draufsicht) und/oder 3D-Planung (z. B. x-z- oder y-z-Grundfläche, wie etwa Profilansicht) erzeugen. Zum Beispiel kann das Robotersystem 100 den Platzierungsplan 350 basierend auf iterativ ableitenden möglichen 2D-Platzierungen entlang der x-y-Ebene erzeugen, wobei die möglichen Platzierungen gemäß den Platzierungsregeln, -bedingungen usw. getestet werden, eine Platzierungsbewertung berechnet wird oder eine Kombination davon erfolgt. Das Robotersystem 100 kann den Platzierungsplan 350 basierend auf dem Auswählen des 2D-Platzierungsplans erzeugen, der die Platzierungsbewertung optimiert (z. B. am höchsten oder am niedrigsten). In einigen Ausführungsformen kann das Robotersystem 100 den 2D-Platzierungsplan verwenden, um ferner einen 3D-Plan zu erzeugen (z. B. einen Stapelplan; in 3B nicht gezeigt). Zum Beispiel kann das Robotersystem 100 den 3D-Platzierungsplan basierend auf dem Verwenden des 2D-Platzierungsplans als eine Schicht innerhalb eines Stapels erzeugen. Anders formuliert, kann das Robotersystem 100 die erzeugte 2D-Platzierung über/auf eine oder mehrere Schichten (z. B. andere 2D-Platzierungspläne) und/oder unter eine oder mehrere Schichten platzieren.
  • Als ein veranschaulichendes Beispiel kann das Robotersystem 100 Höhen der platzierten Objekte beim Ableiten der 2D-Pläne schätzen und berücksichtigen. Zum Beispiel kann das Robotersystem 100 die Objekthöhen (z. B. diejenigen, die in den Masterdaten gespeichert sind) verpixeln, wie in 3D gezeigt. Außerdem kann das Robotersystem 100 die vorbestimmten Höhendaten des platzierten Objekts auf jedem der Einheitspixel, die von dem Objekt belegt sind, abbilden. Mit den auf jedem der Pixel abgebildeten Höhen leitet das Robotersystem 100 Platzierungsflächen des entstandenen 2D-Platzierungsplans 350 ab. Die Platzierungsflächen können jeweils einer abgeleiteten Fläche/Ebene entsprechen, die darauf platzierte Objekte aufweisen und stützen kann, wie etwa aufgrund gleicher oder ähnlicher Höhen von Objekten, die die abgeleitete Fläche bilden.
  • Das Robotersystem 100 kann Platzierungsflächen basierend auf dem Identifizieren von Gruppierungen von Einheitspixeln, die Höhenwerte aufweisen, die sich innerhalb eines Schwellenbereichs voneinander befinden, ableiten. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsflächen basierend auf dem Identifizieren einer maximalen Höhe für den Platzierungsplan 350 ableiten. Basierend auf der maximalen Höhe kann das Robotersystem 100 die Einheitspixel in dem Platzierungsplan 350 mit Höhen, die einem Schwellenbereich von der maximalen Höhe entsprechen oder innerhalb von diesem liegen, identifizieren. Das Robotersystem 100 kann einen Umriss basierend auf sich verbindenden Ecken und/oder sich erstreckenden Kanten der
    äußersten/Umfangseinheitspixel mit geeigneten Höhen ableiten, um die Platzierungsfläche abzuleiten. Das Robotersystem 100 kann den Prozess für Regionen außerhalb der Platzierungsbereiche unter Verwendung von geringeren Höhen rekursiv wiederholen. Für das in 3B veranschaulichte Beispiel kann das Robotersystem 100 eine erste Platzierungsfläche 352, eine zweite Platzierungsfläche 354 und eine dritte Platzierungsfläche 356 ableiten. Die erste Platzierungsfläche 352 kann dem rechteckigen Bereich entsprechen, der in der unteren linken Ecke des Platzierungsplans 350 mit der maximalen Höhe von vier Einheitspixeln gezeigt ist. Die zweite Platzierungsfläche 354 kann dem umgebenden Bereich (mit gestrichelten Linien gezeigt) mit der Höhe von zwei Einheitspixeln entsprechen. Die dritte Platzierungsfläche 356 kann dem separaten Bereich auf der rechten Seite des Platzierungsplans 350 mit der Höhe von einem Einheitspixel entsprechen. Einzelheiten zur 2D- und 3D-Platzierungsplanung sind nachfolgend beschrieben.
  • 3C ist eine Veranschaulichung eines Platzierungsplanungsprozesses gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Das Robotersystem 100 kann (z. B. über den einen oder die mehreren Prozessoren 202 aus 2) den Platzierungsplan 350 aus 3B für eine Reihe von verfügbaren Paketen 362 ableiten. Die verfügbaren Pakete 362 können den Objekten entsprechen, die für einen ausgehenden Versand und/oder eine Lagerung gepackt werden müssen. Zum Beispiel können die verfügbaren Pakete 362 eingehenden Objekten, die über einen eingehenden Versand aufgenommen wurden, und/oder gelagerten Objekten, die für einen ausgehenden Versand beauftragt wurden, entsprechen. In einigen Ausführungsformen kann das Robotersystem 100 einen Lieferplan, eine Auftragsliste usw. verwenden, um die verfügbaren Pakete 362 in Echtzeit zu identifizieren, wie etwa direkt als Reaktion auf das Empfangen des Plans, der Liste usw. (d. h. innerhalb einer Schwellendauer davon). Dementsprechend kann das Robotersystem 100 die identifizierten verfügbaren Pakete 362 verwenden, um den Platzierungsplan 350 in Echtzeit abzuleiten. Demnach kann das Robotersystem 100 Echtzeit-Bedingungen, -Verfügbarkeit und/oder -Notwendigkeiten verwenden, um den Platzierungsplan 350 abzuleiten, anstelle von systemunabhängigen Packsimulatoren, die eine hypothetische Anzahl/Reihe/Kombination von Paketen verwenden, um Pläne abzuleiten, die unabhängig von Echtzeit-Bedingungen angewandt werden. In einigen Ausführungsformen kann das Robotersystem 100 Vorrichtungen (z. B. einen oder mehrere der Prozessoren 202) verwenden, die sich an der Position zum Aufnehmen, Lagern und/oder Senden der Objekte befinden, wie etwa einem Versandzentrum und/oder einem Lager.
  • In einigen Ausführungsformen kann das Robotersystem 100, wie nachfolgend ausführlich erörtert, die verfügbaren Pakete 362 gruppieren und/oder sequenzieren. Das Robotersystem 100 kann die sortierte Reihe der verfügbaren Pakete 362 verwenden, um den Platzierungsplan 350 abzuleiten. Das Robotersystem 100 kann eindeutige Platzierungspositionen/-kombinationen für die verfügbaren Pakete 362 bestimmen und beurteilen, um den Platzierungsplan 350 abzuleiten. Anders formuliert, kann das Robotersystem 100 eine Reihe von möglichen Platzierungskombinationen 364 bestimmen und diese gemäß einer Reihe von vorbestimmten Anforderungen, Bedingungen, Gewichten, Kosten, anschließenden Auswirkungen oder einer Kombination davon beurteilen (z. B. bewerten). Basierend auf der Beurteilung kann das Robotersystem 100 eine Platzierungskombination auswählen, um den Platzierungsplan 350 abzuleiten.
  • In mindestens einer Ausführungsform kann das Robotersystem 100 den Platzierungsplan 350 unter Verwendung eines Algorithmus ableiten, der Platzierungen der sequenzierten Pakete iterativ beurteilt. Wie in 3C veranschaulicht, kann das Robotersystem 100 beispielsweise mit der Ableitung beginnen, indem eine anfängliche Platzierung für das erste Paket bei den verfügbaren Paketen 362 bestimmt wird. Dementsprechend kann das Robotersystem 100 das entsprechende diskretisierte Objektmodell 302 aus 3A über dem diskretisierten Plattformmodell 304 aus 3B an einer anfänglichen Position (z. B. einer Ecke, einer mittleren Position und/oder einer anderen voreingestellten Position) überlappen. Das Robotersystem 100 kann übrige Pakete 372 basierend auf dem Entfernen des platzierten Pakets (z. B. des ersten Pakets) von den verfügbaren Paketen 362 verfolgen.
  • Basierend auf der anfänglichen Platzierung kann das Robotersystem 100 eine Reihe von möglichen Platzierungen für das zweite Paket bei den verfügbaren Paketen 362 bestimmen. Das Robotersystem 100 kann die Reihe von möglichen Platzierungen gemäß einer vorbestimmten Regel, einem vorbestimmten Muster oder einer Kombination davon bestimmen. Zum Beispiel kann das Robotersystem 100 die Platzierungspositionen gemäß einem Muster von Positionen relativ zu dem/den vorher platzierten Paket(en) (z. B. relativ zu dem/den vorher platzierten Paket(en)) bestimmen. Außerdem kann das Robotersystem 100 die Platzierungspositionen basierend auf einem minimalen/maximalen Trennungsabstand oder einem Fehlen davon, der zwischen einem oder mehreren der Pakete erforderlich ist, bestimmen. Ferner kann das Robotersystem 100 die Platzierungspositionen basierend auf dem Drehen des Pakets (d. h. dem entsprechenden diskretisierten Objektmodell 302) um ein vorbestimmtes Ausmaß, wie etwa 90 Grad, bestimmen. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsmöglichkeiten gemäß einem vorbestimmten Schwellenwert und/oder Muster einschränken. Ferner kann das Robotersystem 100 die übrigen Pakete 372 entsprechend aktualisieren.
  • Das Robotersystem 100 kann den vorstehend beschriebenen Prozess wiederholen und die verfügbaren Pakete 362 iterativ verarbeiten, bis eine Stoppbedingung erreicht ist. Einige Beispiele für die Stoppbedingung können darstellen, dass alle Pakete platziert wurden (d. h. die übrigen Pakete 372 leer sind), die Platzierungen nicht verbessert werden können (z. B. gleiche Beurteilung wie die vorherige Stufe/Wiederholung), keine Pakete mehr über dem diskretisierten Plattformmodell 304 platziert werden können, oder eine Kombination davon.
  • In einigen Ausführungsformen kann das Robotersystem 100 die möglichen Platzierungen und die entsprechenden möglichen Platzierungskombinationen 364 mit einem Suchbaum 374 verfolgen. Eine Wurzel des Suchbaums 374 kann der anfänglichen Platzierung entsprechen und jede Ebene oder Stufe kann mögliche Platzierungen des nachfolgenden Pakets bei den verfügbaren Paketen 362 beinhalten. Die unterschiedlichen Stufen können verbunden werden, um einen Zweig zu bilden, der einer eindeutigen Kombination von Platzierungen für die Reihe von Paketen entspricht.
  • Für mögliche Platzierungen jedes Pakets kann das Robotersystem 100 redundante Grundrisse identifizieren und beseitigen (z. B. durch „X“ in 3C dargestellt). Zum Beispiel kann das Robotersystem 100 bei jeder Stufe des Suchbaums 374 die entstandenen Grundrisse der möglichen Platzierungspositionen/-kombinationen vergleichen (z. B. überlagern). Basierend auf dem Vergleich kann das Robotersystem 100 Duplikate der entstandenen Grundrisse beseitigen. In einigen Ausführungsformen kann das Robotersystem 100 ferner vertauschte, gedrehte und/oder gespiegelte Versionen der entstandenen Grundrisse vergleichen, um zugehörige Duplikate zu beseitigen. Zum Beispiel kann das Robotersystem 100 einen Grundriss um 90 Grad drehen und/oder den Grundriss an einer oder mehreren Spiegelachsen (z. B. einer diagonalen Linie, die sich über gegenüberliegende Ecken erstreckt, eine/mehrere Winkelhalbierende, die sich entlang x- und/oder y-Richtungen erstreckt/erstrecken, oder einer Kombination davon) vertauschen und diesen mit anderen Grundrissen vergleichen.
  • Außerdem kann das Robotersystem 100 für mögliche Platzierungen jedes Pakets Platzierungen, die eine oder mehrere Anforderungen/Einschränkungen missachten, identifizieren und beseitigen. Ein Beispiel für die Anforderungen/Einschränkungen kann auf Kollisionswahrscheinlichkeiten basieren. Das Robotersystem 100 kann einen Anfahrtsweg für jede Platzierungsposition und eine entsprechende Kollisionswahrscheinlichkeit gemäß dem bereits bestehenden Grundriss, einer oder mehreren Abmessungen der Pakete, einer Position des Übertragungsroboters, einem vorherigen Ereignis oder einem vorherigen Verlauf oder einer Kombination davon berechnen. Das Robotersystem 100 kann die Platzierungen, bei denen die Kollisionswahrscheinlichkeit einen vorbestimmten Schwellenwert überschreitet, beseitigen. Ein weiteres Beispiel für die Anforderungen/Einschränkungen kann ein unterstütztes Gewicht für das Stapeln (z. B. Platzieren direkt auf/über einem oder mehreren stützenden Paketen) des Pakets sein. Für eines oder mehrere der Pakete unter der Platzierungsposition kann das Robotersystem 100 ein Stützgewicht (d. h. ein kombiniertes Gewicht von Paketen oder Teilen davon direkt darüber) basierend auf dem Gewicht des platzierten Pakets berechnen. Das Robotersystem 100 kann die Platzierungen, bei denen das Stützgewicht eine Zerbrechlichkeitsanforderung (z. B. ein maximal unterstütztes Gewicht) für eines oder mehrere der Pakete unter der Platzierungsposition missachtet (z. B. überschreitet oder sich innerhalb eines Schwellenbereichs davon befindet), beseitigen.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungskombinationen 364 unter Verwendung einer Prioritätswarteschlange 376 (z. B. einer Bergstruktur usw.) verfolgen und/oder beurteilen. Die Prioritätswarteschlange 376 kann die Platzierungskombinationen 364 gemäß einer Sequenz von Präferenzen sortieren. Das Robotersystem 100 kann jede der Platzierungskombinationen 364 gemäß einem oder mehreren vorbestimmten Kriterien beurteilen oder bewerten. Die Kriterien können eine oder mehrere Kosten in Verbindung mit bereits platzierten Elementen und/oder einer oder mehreren heuristischen Bewertungen in Verbindung damit, wie die derzeitige Platzierung zukünftige Platzierungen oder Möglichkeiten beeinflusst, beinhalten.
  • Ein Beispiel für die Kriterien kann die Maximierung der Grundrissdichte beinhalten. Das Robotersystem 100 kann die Grundrissdichte für einen Außenumfang 382 für eine Gruppierung von Paketen berechnen. In einigen Ausführungsformen kann der Außenumfang 382 basierend auf freiliegenden Kanten/Außenumfangskanten der Gruppierung der Pakete bestimmt werden. Das Robotersystem 100 kann ferner umgebende/zugehörige Bereiche umschließen, indem es zwei oder mehr Kanten verlängert und einen Schnittpunkt findet und/oder indem es eine Linie zieht, die eine oder mehrere Ecken des Grundrisses verbindet. Das Robotersystem 100 kann die Grundrissdichte als Verhältnis zwischen einem tatsächlichen belegten Bereich 384 (z. B. einer Anzahl an Einheitspixeln 310, die dem schattierten Bereich entsprechen) und einem leeren Bereich 386 (z. B. einer Anzahl an Einheitspixeln 310, die den umschlossenen/zugehörigen Bereichen entsprechen) berechnen. Das Robotersystem 100 kann dazu konfiguriert sein, Platzierungspläne, die den leeren Bereich 386 minimieren, zu bevorzugen (z. B. durch Zuweisen einer höheren/niedrigeren Punktzahl).
  • Stapelregeln
  • Die 4A-4C sind Veranschaulichungen von Stapelregeln gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Das Robotersystem 100 kann die Stapelregeln verwenden, um Pakete übereinander zu platzieren, wie etwa zum Stapeln/Platzieren einer oder mehrerer Schichten von Paketen über einer oder mehreren anderen Schichten von Paketen. Das Robotersystem 100 kann die Stapelregeln verwenden, um die Stabilität der gestapelten Pakete zu verbessern und zu verhindern, dass Pakete während der Bewegung der Palette verrutschen und/oder Kippen. Zum Zwecke der Veranschaulichung zeigen die 4A-4C ein oberes Paket 452, das sich direkt über einem oder mehreren stützenden Paketen 454 befindet und von diesen gestützt wird (z. B. diese direkt berührt).
  • 4A veranschaulicht eine Horizontalversatzregel 402, die verwendet wird, um 3D-Platzierungen zu erzeugen (z. B. den 3D-Platzierungsplan 350). Die Horizontalversatzregel 402 kann eine Regulierung, eine Anforderung oder eine Kombination davon zum Steuern horizontaler Versätze von vertikalen Kanten/Flächen zwischen gestapelten Elementen beinhalten. Zum Beispiel kann die Horizontalversatzregel 402 auf einer Überlappungsanforderung 422, einer Überstandsanforderung 424 oder einer Kombination davon basieren. Die Überlappungsanforderung 422 kann einen Mindestbetrag (z. B. einen Prozentsatz oder ein Verhältnis von Länge, Breite und/oder Flächenbereich) der Überlappung zwischen den gestapelten Paketen beinhalten. In einigen Ausführungsformen kann die Überlappungsanforderung 422 erfordern, dass ein Mindestbetrag der horizontalen Abmessung/des horizontalen Flächenbereichs des oberen Pakets 452 mit der/dem des stützenden Pakets 454 überlappt. Die Überstandsanforderung 424 kann einen Mindestbetrag (z. B. einen Prozentsatz oder ein Verhältnis von Länge, Breite und/oder Flächenbereich) des Überstands beinhalten, wie etwa einen Teil des oberen Pakets 452, der sich horizontal über eine Umfangskante/Fläche des stützenden Pakets 454 hinaus erstreckt.
  • In einigen Ausführungsformen kann die Horizontalversatzregel 402 auf Gewicht, Abmessung und/oder Massenmittelpunkt(CoM)-Positionen 412 basieren. Zum Beispiel können die Überlappungsanforderung 422 und/oder die Überstandsanforderung 424 auf den CoM-Positionen 412 basieren, wie etwa zum Beurteilen eines Abstands zwischen den CoM-Positionen 412 des oberen Pakets 452 und des stützenden Pakets 454 relativ zu einem Abstand zwischen der oberen CoM-Position und einer horizontalen Kante/Fläche des stützenden Pakets 454 und/oder eines Überstandabstands (z. B. eines Maßes entlang einer horizontalen Richtung eines Teils des oberen Pakets 452, der sich über (eine) Umfangskante(n) des stützenden Pakets 454 hinaus erstreckt). In einigen Ausführungsformen kann die Horizontalversatzregel 402 auf einer CoM-Versatzanforderung 426 basieren, die erfordert, dass sich die CoM-Positionen 412 der oberen Pakete 452 und der stützenden Pakete 454 innerhalb eines Schwellenwerts befinden. Der Schwellenwert kann einen vorbestimmten Abstand, eine Schwellengrenze für ein Verhältnis zwischen dem Versatzabstand zwischen den CoM-Positionen 412 relativ zu einer horizontalen Abmessung, einen Überstandsabstand, einen überlappten Abstand oder eine Kombination davon beinhalten.
  • 4B veranschaulicht eine Stütztrennungsregel 404, die verwendet wird, um 3D-Platzierungen zu erzeugen (z. B. einen Stapelplan). Die Stütztrennungsregel 404 kann eine Regulierung, eine Anforderung oder eine Kombination davon zum Steuern eines horizontalen Trennungsabstands 414 zwischen den stützenden Paketen 454 beinhalten. Der horizontale Trennungsabstand 414 kann einem horizontalen Abstand zwischen Umfangsflächen/-kanten von benachbarten stützenden Paketen 454 entsprechen. In einigen Ausführungsformen kann die Stütztrennungsregel 404 ferner auf Positionen und/oder Beträgen von überlappenden Flächen zwischen dem oberen Paket 452 und den stützenden Paketen 454 basieren. Zum Beispiel kann die Stütztrennungsregel 404 erfordern, dass der horizontale Trennungsabstand 414 um einen vorbestimmten Prozentsatz größer ist als Überstandsabstände. Außerdem kann die Stütztrennungsregel 404 erfordern, dass sich der horizontale Trennungsabstand 414 unter die CoM-Position 412 des oberen Pakets 452 erstreckt.
  • 4C veranschaulicht eine Vertikalversatzregel 406, die verwendet wird, um 3D-Platzierungen zu erzeugen (z. B. den 3D-Platzierungsplan 350). Die Vertikalversatzregel 406 kann eine Regulierung, eine Anforderung oder eine Kombination davon zum Steuern einer Stützhöhendifferenz 416 zwischen vertikalen Positionen der stützenden Pakete 454 beinhalten. Die Stützhöhendifferenz 416 kann einem vertikalen Abstand zwischen oberen Teilen von entsprechenden stützenden Paketen 454 entsprechen, wie etwa für Teile, die das obere Paket 452, das über den entsprechenden stützenden Paketen 454 platziert ist, wahrscheinlich berühren. In einigen Ausführungsformen kann die Vertikalversatzregel 406 erfordern, dass die Stützhöhendifferenz 416 unter einer vorbestimmten Schwellenanforderung für das Stapeln eines oder mehrerer Pakete auf die stützenden Pakete 454 liegt. In einigen Ausführungsformen kann die Stütztrennungsregel 404 basierend auf der Schichthöhe variieren. Wenn beispielsweise das obere Paket 452 (z. B. das gestützte Paket) Teil der obersten Schicht ist, kann die Einschränkung für die Stützhöhendifferenz 416 größer sein als für die unteren Schichten.
  • Das Robotersystem 100 kann Stapelpläne (z. B. eine 3D-Kombination von mehreren 2D-Platzierungsplänen) gemäß den Stapelregeln erzeugen. Zum Beispiel kann das Robotersystem 100 die 2D-Platzierungspläne (z. B. den Platzierungsplan 350 aus 3B) gemäß Höhenanforderungen (z. B. zum Halten der Höhen der Paketgruppierungen innerhalb eines Schwellenabstands) erzeugen. Anschließend kann das Robotersystem 100 die Stapelpläne basierend auf einem vertikalen Überlappen (z. B. Stapeln) der 2D-Platzierungspläne erzeugen.
  • Stapelsequenz
  • 5A ist eine Veranschaulichung eines Beispiels für einen Stapelplan 502 (z. B. einen Plan, der eine 3D-Abbildung der verfügbaren Pakete darstellt, und/oder die Platzierungspläne 350, die Schichten innerhalb der 3D-Abbildung entsprechen) gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Zum Zwecke der Veranschaulichung ist der Stapelplan 502 mit einer ersten Schicht 512, einer zweiten Schicht 514 und einer dritten Schicht 516 für einen ersten Stapel 520 der Pakete veranschaulicht (z. B. mindestens der Pakete 1-1 bis 1-4, 2-1 bis 2-2 und 3-1 bis 3-3). Jede der ersten Schicht 512, der zweiten Schicht 514 und der dritten Schicht 516 kann ein Teil des Platzierungsplans 350 sein. Die erste Schicht 512 kann sich auf der Unterseite befinden, sodass die Pakete (z. B. mindestens die Pakete 1-1, 1-2, 1-3 und 1-4) darin die Platzierungspalette 340 direkt berühren. Die Pakete (z. B. mindestens die Pakete 2-1 und 2-2) in der zweiten Schicht 514 können sich direkt auf der ersten Schicht 512 (d. h. direkt Kontakt damit aufweisen) und darüber befinden. Gleichermaßen können sich die Pakete (z. B. mindestens die Pakete 3-1 und 3-2) der dritten Schicht 516 direkt auf der zweiten Schicht 514 befinden und diese berühren.
  • Wie nachfolgend erörtert, kann das Robotersystem 100 jede der Schichten getrennt planen, während vertikale Parameter (z. B. unterstütztes Gewicht, Schichthöhe usw.) berücksichtigt werden. Bei dem Erzeugen des Stapelplans 502 kann das Robotersystem 100 die getrennten Schichten gemäß den vertikalen Parametern und/oder den Stapelregeln vertikal kombinieren und/oder sequenzieren. In einigen Ausführungsformen kann das Robotersystem 100 die Schichten gemäß einer vertikalen Platzierung der Pakete planen. Zum Beispiel kann das Robotersystem 100 die erste Schicht 512 derart erzeugen, dass sie alle Pakete beinhaltet, die die Platzierungspalette 340 direkt berühren, wie etwa die unteren zwei Pakete in einem zweiten Stapel 522 beinhaltend. Außerdem kann das Robotersystem 100 das mit „3-3“ gekennzeichnete Paket als Teil der zweiten Schicht 514 planen. In einigen Ausführungsformen kann das Robotersystem 100 die Schichten neu planen und/oder anpassen (z. B. der Platzierungsplan 350), wenn der Stapelplan 502 erzeugt wird. Zum Beispiel kann das Robotersystem 100 die Schichten anpassen, um die Stapel-/Platzierungssequenz zu vereinfachen. Wie in 5A veranschaulicht, kann das Robotersystem 100 die Schichten derart anpassen, dass der zweite Stapel 522 als separater Stapel anzusehen ist (d. h. von der ersten, zweiten und dritten Schicht 512-516 getrennt). Dementsprechend kann das Robotersystem 100 dazu imstande sein, die Pakete des zweiten Stapels 522 getrennt/unterschiedlich von den Schichten des ersten Stapels 520 zu planen und/oder zu stapeln.
  • Außerdem kann das Robotersystem 100 in einigen Ausführungsformen größere Pakete die der Übertragungseinheit 104 aus 1 (z. B. zu dem Palettierungsroboter) am nächsten sind zu einer höheren Schicht bewegen, um die Stapelsequenz zu vereinfachen. Unter der Annahme, dass sich die Übertragungseinheit 104 rechts von der in 5A veranschaulichten Platzierungspalette 340 befindet, kann das Paket „3-3“ zu einem Hindernis werden (d. h. aufgrund seiner Höhe), wenn es vor den mit „3-1“ und „3-2“ gekennzeichneten Paketen platziert wird. Dementsprechend kann das Robotersystem 100 die Schichten derart anpassen, dass das „3-3“-Paket Teil einer höheren Schicht (z. B. der dritten Schicht 516 anstelle der zweiten Schicht 512) ist. Infolgedessen, wenn das Robotersystem 100 die Pakete gemäß den Schichten platziert, kann das „3-3“-Paket nach dem „3-1“- und dem „3-2“-Paket platziert werden.
  • In anderen alternativen Ausführungsformen kann das Robotersystem 100 die Stapel- oder Platzierungssequenzen basierend auf dem Analysieren des Stapelplans 502 getrennt berechnen, ohne dass es an die Schichten gebunden ist. Zum Zwecke der Erörterung ist 5B eine Veranschaulichung einer Stapelsequenz 530 (z. B. einer Identifizierung einer Platzierungsreihenfolge für die verfügbaren Pakete), die nicht an das Stapeln der Pakete gemäß den Schichten gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie gebunden ist. Die Stapelsequenz 530 kann zum Platzieren eines gestapelten Pakets 532 über einem stützenden Paket und horizontal zwischen zwei Endpaketen dienen. Die Stapelsequenz 530 kann derart sein, dass das (mit „1“ gekennzeichnete) Paket, das sich am weitesten weg von der Übertragungseinheit 104 (in 5B nicht veranschaulicht, der Annahme nach rechts der Platzierungspalette 340 befindlich) befindet, zuerst platziert werden kann und das zweite (mit „2“ gekennzeichnete) Paket anschließend auf der Platzierungspalette 340 platziert wird. Das Robotersystem 100 kann die Stapelsequenz 530 derart berechnen, dass das gestapelte (mit „3“ gekennzeichnete) Paket 532 vor (z. B. als drittes von) einem der (mit „4“ gekennzeichneten) Endpakete 534 platziert wird. Wie vorstehend erörtert, kann das Robotersystem 100 die Stapelsequenz 530 basierend auf dem Anpassen des einen der Endpakete 534, um zu einer zweiten Schicht mit dem gestapelten Paket 532 zu gehören, oder basierend auf dem unabhängigen Berechnen der Stapelreihenfolge anhand des Stapelplans 502 berechnen.
  • Betriebsablauf
  • 6 ist ein Ablaufdiagramm für ein Verfahren 600 zum Betreiben des Robotersystems 100 aus 1 gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Das Verfahren 600 kann zum Erzeugen von 2D-/3D-Packplänen für das Platzieren von Paketen (z. B. Behältern und/oder Kisten) auf eine Plattform (z. B. eine Palette) und/oder für das entsprechende Platzieren der Pakete dienen. Das Verfahren 600 kann basierend auf dem Ausführen der Anweisungen, die auf einer oder mehreren der Speichervorrichtungen 204 aus 2 gespeichert sind, mit einem oder mehreren der Prozessoren 202 aus 2 umgesetzt werden.
  • Bei Block 602 kann das Robotersystem 100 eine Paketreihe (z. B. die verfügbaren Pakete 362 aus 3C) und ein Ziel (z. B. die Aufgabenposition 116 aus 1, wie etwa eine Palette und/oder einen Container für das Aufnehmen der Pakete) identifizieren. Zum Beispiel kann das Robotersystem 100 die Paketreihe identifizieren, um die verfügbaren Pakete 362 darzustellen, einschließlich der Pakete, die für das Packen zur Verfügung stehen, sich an einem Start befinden, zur Platzierung festgelegt sind und/oder in einem Auftrag/einer Anforderung/einem Plan aufgeführt sind. Außerdem identifiziert das Robotersystem 100 eine Größe oder eine Abmessung eines Bereichs (z. B. einer oberen Ladefläche der Palette, wie etwa der Platzierungspalette 340 aus 3) der Aufgabenposition 116, in dem die Pakete platziert werden können. In einigen Ausführungsformen kann das Robotersystem 100 eine Größe, eine Abmessung, eine Art oder eine Kombination davon für eine Palette identifizieren.
  • Bei Block 604 kann das Robotersystem 100 diskretisierte Modelle (z. B. die diskretisierten Objektmodelle 302 aus 3A und/oder die diskretisierten Plattformmodelle 304 aus 3B) erzeugen und/oder darauf zugreifen, die der Paketreihe entsprechen und die verfügbaren Pakete 362 und/oder die Aufgabenposition 116 darstellen. In einigen Ausführungsformen kann das Robotersystem 100 (z. B. in Echtzeit, wie etwa nach dem Empfangen des Auftrags und/oder vor dem Beginn des Packvorgangs, oder systemunabhängig) die diskretisierten Modelle basierend auf dem Unterteilen physischer Abmessungen der Objekte und/oder des Plattformbereichs (z. B. der oberen Fläche der Palette gemäß dem Einheitspixel 310 aus 3B) erzeugen. Das Einheitspixel 310 kann vorbestimmt werden (z. B. von einem Hersteller, einem auftraggebenden Kunden und/oder einem Betreiber), wie etwa 1 Millimeter (mm) oder 1/16 Zoll (in) oder größer (z. B. 5 mm oder 20 mm). In einigen Ausführungsformen kann das Einheitspixel 310 (z. B. als Prozentsatz oder Bruchteil) auf einer Abmessung oder einer Größe von einem oder mehreren der Pakete und/oder der Plattform basieren.
  • In einigen Ausführungsformen kann das Robotersystem 100 auf die diskretisierten Modelle zugreifen, die in den Speichervorrichtungen 204 und/oder einer anderen Vorrichtung (z. B. einer Speichervorrichtung, einer Datenbank und/oder einem Server eines Paketlieferanten, auf die bzw. den über die Kommunikationsvorrichtungen 206 aus 2 zugegriffen wird) gespeichert sind. Das Robotersystem 100 kann auf die vorbestimmten diskretisierten Modelle zugreifen, die die verfügbaren Pakete 362 und/oder die Aufgabenposition 116 darstellen. Zum Beispiel kann das Robotersystem 100 auf die diskretisierten Objektmodelle 302 zugreifen, die den verfügbaren Paketen 362 entsprechen, indem die Masterdaten 252 aus 2 (z. B. eine vorbestimmte Tabelle oder eine Nachschlagetabelle) hinsichtlich der verfügbaren Pakete und ihrer entsprechenden Modelle durchsucht werden. Gleichermaßen kann das Robotersystem 100 auf das diskretisierte Plattformmodell 304 zugreifen, welches die Plattform, wie etwa die identifizierte Palette, darstellt, auf der die verfügbaren Pakete zu platzieren sind.
  • Bei Block 606 kann das Robotersystem 100 Paketgruppierungen (z. B. Untergruppierungen der verfügbaren Pakete) bestimmen. Das Robotersystem 100 kann die Paketgruppierungen basierend auf den verfügbaren Paketen 362 für das Platzieren dieser auf der identifizierten Plattform (z. B. der Platzierungspalette 340) bestimmen. Das Robotersystem 100 kann die Paketgruppierungen gemäß Ähnlichkeiten und/oder Mustern in einer oder mehreren Charakteristika der verfügbaren Pakete 362 bestimmen. In einigen Ausführungsformen, wie in Block 621 veranschaulicht, kann das Robotersystem 100 die Paketgruppierung durch Gruppieren der verfügbaren Pakete 362 gemäß Gruppierungsbedingungen/-anforderungen bestimmen. Einige Beispiele für die Gruppierungsbedingungen/-anforderungen können eine Paketpriorität (z. B. wie durch einen oder mehrere Kunden festgelegt), eine Zerbrechlichkeitseinstufung (z. B. ein maximales Gewicht, das von dem Paket gestützt werden kann), ein Gewicht, eine Paketabmessung (z. B. eine Pakethöhe), eine Paketart oder eine Kombination davon beinhalten. Bei der Gruppierung der verfügbaren Pakete 362 kann das Robotersystem 100 die Masterdaten 252 hinsichtlich der verschiedenen Charakteristika der verfügbaren Pakete 362 durchsuchen, die mit den Gruppierungsbedingungen/-anforderungen übereinstimmen.
  • Bei Block 608 kann das Robotersystem 100 eine Verarbeitungsreihenfolge (z. B. eine Sequenz für das Berücksichtigen/Ableiten der Platzierungspositionen) für die verfügbaren Pakete 362 und/oder die Gruppierungen davon (d. h. die Paketgruppierungen) berechnen. In einigen Ausführungsformen, wie bei Block 622 veranschaulicht, kann das Robotersystem 100 die Verarbeitungsreihenfolge gemäß einer oder mehreren Sequenzierungsbedingungen/- anforderungen berechnen. Zum Beispiel kann das Robotersystem 100 die Platzierungsplanung der Paketgruppierungen gemäß einer Anzahl an Paketen innerhalb jeder der Gruppierungen priorisieren, wie etwa zum Verarbeiten der Paketgruppierungen mit größerer Anzahl an Paketen früher in der Platzierungsplanung. In einigen Ausführungsformen können die Sequenzierungsbedingungen die Gruppierungsbedingungen überlappen, wie etwa für die Gewichtsbereiche, die Zerbrechlichkeitseinstufungen usw. Zum Beispiel kann das Robotersystem 100 die Verarbeitung der schwereren und/oder der weniger zerbrechlichen Pakete für eine frühere Verarbeitung und/oder für die Platzierung in unteren Schichten priorisieren.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsplanung gemäß einem kombinierten horizontalen Bereich priorisieren. Das Robotersystem 100 kann Flächenbereiche von oberen Flächen der Pakete in den Gruppierungen unter Verwendung von Informationen, die in den Masterdaten 252 festgelegt sind, berechnen (z. B. durch Multiplizieren entsprechender Breiten und Längen) oder darauf zugreifen. Bei dem Berechnen des kombinierten horizontalen Bereichs kann das Robotersystem 100 die Flächenbereiche von Paketen mit der gleichen Art und/oder Höhen innerhalb eines Schwellenbereichs hinzufügen. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsplanung von Gruppierungen, die den größeren kombinierten horizontalen Bereich aufweisen, für eine frühere Verarbeitung und/oder für die Platzierung in unteren Schichten priorisieren.
  • Für eine oder mehrere Ausführungsformen kann das Robotersystem 100 einen Puffer mit Kennungen und/oder Mengen der verfügbaren Pakete 362 laden. Das Robotersystem 100 kann die Kennungen im Puffer gemäß den Gruppierungen sequenzieren. Ferner kann das Robotersystem 100 die Kennungen im Puffer gemäß der Verarbeitungsreihenfolge sequenzieren. Dementsprechend können die sequenzierten Werte im Puffer den verfügbaren Paketen 362 und/oder den übrigen Paketen 372, die in 3C veranschaulicht sind, entsprechen.
  • Wie in Block 624 veranschaulicht, kann das Robotersystem 100 beispielsweise die Verarbeitungsreihenfolge für eine anfängliche Reihe (z. B. die Paketreihe) der verfügbaren Pakete 362 berechnen, bevor der entsprechende Stapelplan 502 aus 5 umgesetzt wird, wie etwa, bevor beliebige der Pakete in der Paketreihe auf der Plattform platziert werden. In einigen Ausführungsformen, wie in Block 626 veranschaulicht, kann das Robotersystem 100 die Verarbeitungsreihenfolge für eine übrige Reihe der verfügbaren Pakete 362 nach dem Einleiten oder während des Umsetzens des entsprechenden Stapelplans 502 berechnen. Wie beispielsweise durch eine Rückkopplungsschleife aus Block 616 veranschaulicht, kann das Robotersystem 100 die Verarbeitungsreihenfolge für die übrige Reihe (z. B. einen Teil der verfügbaren Pakete 362, die nicht zur Plattform übertragen wurden und/oder an einer Startposition bleiben) gemäß einer oder mehreren Auslösebedingungen berechnen. Beispielhafte Auslösebedingungen können Stapelfehler (z. B. verlorengegangene oder heruntergefallene Pakete), Kollisionsereignisse, vorbestimmte Neuauslösezeitpunkte oder eine Kombination davon beinhalten.
  • Bei Block 610 kann das Robotersystem 100 2D-Pläne (z. B. die Platzierungspläne 350 aus 3B) für das Platzieren der verfügbaren Pakete 362 entlang einer horizontalen Ebene erzeugen. Beispielsweise kann das Robotersystem 100 die Platzierungspläne 350 erzeugen, um die 2D-Abbildungen der verfügbaren Pakete 362 entlang der horizontalen Ebene darzustellen. Das Robotersystem 100 kann zwei oder mehr Platzierungspläne basierend auf den diskretisierten Modellen erzeugen. Zum Beispiel kann das Robotersystem 100 die Platzierungspläne 350 basierend auf dem Vergleichen der diskretisierten Objektmodelle 302 mit dem diskretisierten Plattformmodell 304 erzeugen. Das Robotersystem 100 kann unterschiedliche Platzierungen/Anordnungen der diskretisierten Objektmodelle 302 bestimmen, diese mit dem diskretisierten Plattformmodell 304 überlappen/vergleichen und die Anordnungen, die sich bei Überlappung innerhalb der Grenzen des diskretisierten Plattformmodells 304 befinden, validieren/bewahren. Das Robotersystem 100 kann die Pakete, die nicht innerhalb der Grenzen des diskretisierten Plattformmodells 304 platziert werden können, für eine andere Schicht (z. B. einen anderen Teil der Platzierungspläne 350) festlegen. Dementsprechend kann das Robotersystem 100 iterativ Platzierungspositionen für die Platzierungspläne 350 ableiten, die 2D-Schichten des Stapelplans 502 darstellen, bis jedes der Pakete in der Paketreihe einer Position in den Platzierungsplänen 350 zugewiesen wurde.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungspläne 350 basierend auf den Paketgruppierungen erzeugen. Zum Beispiel kann das Robotersystem 100 die Anordnungen für die Pakete innerhalb einer Paketgruppierung bestimmen, bevor Platzierungen von Paketen in einer anderen Gruppierung berücksichtigt werden. Wenn Pakete innerhalb einer Paketgruppe über eine Schicht hinausragen (d. h. nicht in eine Schicht oder einen Teil des diskretisierten Plattformmodell 304 passen können) und/oder nachdem alle Pakete einer Gruppierung platziert wurden, kann das Robotersystem 100 Positionen für die Pakete in der nächsten Gruppierung einem beliebigen übrigen/nicht belegten Bereich im diskretisierten Plattformmodell 304 zuweisen. Das Robotersystem 100 kann die Zuweisungen iterativ wiederholen, bis keines der nicht zugewiesenen Pakete über übrige Räume des diskretisierten Plattformmodells 304 passt.
  • Gleichermaßen kann das Robotersystem 100 die Platzierungspläne 350 basierend auf der Verarbeitungsreihenfolge (z. B. basierend auf den Paketgruppierungen gemäß der Verarbeitungsreihenfolge) erzeugen. Zum Beispiel kann das Robotersystem 100 eine Testanordnung basierend auf dem Zuweisen von Paketen und/oder Gruppierungen gemäß der Verarbeitungsreihenfolge bestimmen. Das Robotersystem 100 kann dem/der frühesten sequenzierten Paket/Gruppierung eine anfängliche Platzierung für die Testanordnung zuweisen und dann die nachfolgenden Paketen/Gruppierungen gemäß der Verarbeitungsreihenfolge testen/zuweisen. In einigen Ausführungsformen kann das Robotersystem 100 die Verarbeitungsreihenfolge für die Pakete/Gruppierungen über die Schichten hinweg (z. B. über die Teile der Platzierungspläne 350 hinweg) bewahren. In einigen Ausführungsformen kann das Robotersystem 100 die Verarbeitungsreihenfolge neuberechnen und aktualisieren (wie unter Verwendung der gestrichelten Rückkopplungslinie in 6 veranschaulicht), nachdem jede Schicht ausgefüllt wurde.
  • In einigen Ausführungsformen kann das Robotersystem 100 als ein veranschaulichendes Beispiel für die vorstehend beschriebenen Prozesse die 2D-Pläne durch Identifizieren der unterschiedlichen Paketarten (z. B. der ersten, zweiten, dritten, vierten und/oder fünften Paketart 321-325 aus 3A) innerhalb der Paketreihe erzeugen. Anders formuliert, kann das Robotersystem 100 bei Block 632 eindeutige Pakete (z. B. wie durch die Paketarten dargestellt) innerhalb jeder der Paketgruppierung und/oder der Paketreihe identifizieren.
  • Bei Block 634 kann das Robotersystem 100 Platzierungspositionen für jedes der verfügbaren Pakete 362 (z. B. iterativ) ableiten. Bei Block 636 kann das Robotersystem 100 eine anfängliche Platzierungsposition für das eindeutige Paket zuerst in der Sequenz gemäß der Verarbeitungsreihenfolge bestimmen. Das Robotersystem 100 kann die anfängliche Platzierungsposition gemäß einem vorbestimmten Muster bestimmen, wie vorstehend beschrieben. In einigen Ausführungsformen kann das Robotersystem 100 anfängliche Platzierungen für jedes eindeutige Paket berechnen. Die entstandenen anfänglichen Platzierungen können jeweils zu einer eindeutigen Platzierungskombination (z. B. einem Teil des Suchbaums 374 aus 3C) entwickelt werden, wie etwa durch Verfolgen des Platzierungsplans 350 über Iterationen hinweg. Bei Block 638 kann das Robotersystem 100 mögliche Platzierungspositionen für die nachfolgenden Pakete gemäß der Verarbeitungsreihenfolge und/oder die übrigen Pakete 372 ableiten und verfolgen, wie vorstehend beschrieben. Dementsprechend kann das Robotersystem 100 die Platzierungskombinationen 364 aus 3C iterativ ableiten.
  • Beim Ableiten der Platzierungskombinationen 364 (z. B. von möglichen Platzierungskombinationen) kann das Robotersystem 100 Positionen des diskretisierten Objektmodells 302 des entsprechenden Pakets basierend auf dem iterativen Ableiten und Beurteilen von möglichen Stapelszenarien (z. B. möglichen Kombinationen von eindeutigen Platzierungspositionen für die verfügbaren Pakete) testen/beurteilen. Die möglichen Stapelszenarien können jeweils basierend auf dem Identifizieren eindeutiger möglicher Positionen (z. B. gemäß einer vorbestimmten Sequenz/Regel für Platzierungspositionen) für die Pakete gemäß der vorstehend erörterten Sequenz abgeleitet werden. Die möglichen Stapelszenarien und/oder die eindeutigen Platzierungspositionen können gemäß einem oder mehreren Platzierungskriterien (z. B. Anforderungen, Einschränkungen, Platzierungskosten und/oder heuristischen Bewertungen) beurteilt werden. Zum Beispiel können die Platzierungskriterien erfordern, dass die diskretisierten Objektmodelle 302 vollständig in die horizontalen Grenzen des diskretisierten Plattformmodells 304 passen, wenn sie an der ausgewählten Position platziert werden. Außerdem können die Platzierungskriterien erfordern, dass die Platzierung der diskretisierten Objektmodelle 302 innerhalb eines Schwellenabstands oder darüber hinaus relativ zu der anfänglichen Platzierungsposition (z. B. entlang einer horizontalen Richtung) und/oder der vorherigen Platzierungsposition, wie etwa für benachbarte Platzierungen oder Trennungsanforderungen, liegt. Andere Beispiele für die Platzierungskriterien können Präferenzen für benachbart platzierte Pakete beinhalten, die die geringste(n) Differenz(en) bei einer oder mehreren Paketabmessungen (z. B. Höhe), den Zerbrechlichkeitseinstufungen, den Gewichtsbereichen der Pakete oder einer Kombination davon aufweisen. In einigen Ausführungsformen können die Platzierungskriterien Kollisionswahrscheinlichkeiten beinhalten, die Positionen und/oder Charakteristika (z. B. der Höhe) von bereits zugewiesenen Paketen in der Schicht relativ zu einer Referenzposition (z. B. der Position des Palettierungsroboters) entsprechen können. Dementsprechend kann das Robotersystem 100 mehrere eindeutige Platzierungskombinationen (d. h. mögliche Platzierungspläne für jede Schicht und/oder die möglichen Stapelszenarien, in denen jede Schicht mehrere Schichten beinhaltet) der Paketplatzierungspositionen erzeugen. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungen der Kombination basierend auf dem Erzeugen und Aktualisieren des Suchbaums 374 bei den Platzierungsiterationen verfolgen.
  • Bei Block 640 kann das Robotersystem 100 eine Platzierungsbewertung für jede Kombinations-/Paketplatzierung berechnen/aktualisieren. Das Robotersystem 100 kann die Platzierungsbewertung gemäß einer oder mehreren der Platzierungsbedingungen/- präferenzen (z. B. Paketabmessungen, Kollisionswahrscheinlichkeiten, Zerbrechlichkeitseinstufungen, Gewichtsbereichen der Pakete, Trennungsanforderungen, Paketmengenbedingungen) berechnen. Zum Beispiel kann das Robotersystem 100 Präferenzfaktoren (z. B. Multiplikatorgewichte) und/oder Gleichungen verwenden, um eine Präferenz für Folgendes zu beschreiben: Trennungsabstände zwischen Paketen, Differenzen bei Paketabmessungen/Zerbrechlichkeitseinstufungen/Paketgewichten für benachbarte Pakete, die Kollisionswahrscheinlichkeiten, durchgehende/benachbarte Flächen mit derselben Höhe, ein statistisches Ergebnis davon (z. B. Durchschnitt, Maximum, Minimum, Standardabweichung usw.) oder eine Kombination davon. Jede Kombination kann gemäß den Präferenzfaktoren und/oder den Gleichungen bewertet werden, die von einem Systemhersteller, einem Auftrag und/oder einem Systembetreiber vordefiniert werden können. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsbewertung am Ende der gesamten Platzierungsiterationen berechnen.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Sequenz der Platzierungskombinationen 364 in der Prioritätswarteschlange 376 aus 3C nach jeder Platzierungsiteration aktualisieren. Das Robotersystem 100 kann die Sequenz basierend auf der Platzierungsbewertung aktualisieren.
  • Das Robotersystem 100 kann die Platzierungsiterationen stoppen, wie etwa, wenn ein möglicher Platzierungsplan beendet ist, und zwar basierend auf dem Bestimmen eines Status einer leeren Quelle, eines Status einer vollständigen Schicht oder eines Status einer unveränderten Bewertung. Der Status der leeren Quelle kann darstellen, dass alle der verfügbaren Pakete platziert wurden. Der Status der vollständigen Schicht kann darstellen, dass kein anderes Paket in den übrigen Bereichen des berücksichtigten diskretisierten Plattformmodells 304 platziert werden kann. Der Status der unveränderten Bewertung kann darstellen, dass die Platzierungsbewertung für die Kombination über eine oder mehrere aufeinanderfolgende Platzierungsiterationen konstant bleibt. In einigen Ausführungsformen kann das Robotersystem 100 die Platzierungsiterationen unter Verwendung unterschiedlicher anfänglicher Platzierungspositionen und/oder einer unterschiedlichen Verarbeitungsreihenfolge (z. B. für das Neusortieren von Gruppen mit demselben Sequenzierungswert/derselben Sequenzierungsbewertung in Verbindung mit den Sequenzierungsbedingungen) wiederholen, um andere Teile möglicher Stapelszenarien abzuleiten. Anders formuliert, kann das Robotersystem 100 mehrere 2D-Platzierungspläne erzeugen, wobei jeder 2D-Platzierungsplan eine Schicht innerhalb eines 3D-Stapels darstellen kann (z. B. einen Teil der möglichen Stapelszenarien). In anderen Ausführungsformen kann das Robotersystem 100 den 3D-Effekt iterativ berücksichtigen, wenn ein 2D-Platzierungsplan abgeleitet wird, und mit dem Ableiten der nächsten Schicht als eine nächste Iteration beginnen, wenn der 2D-Platzierungsplan voll wird.
  • Bei Block 612 kann das Robotersystem 100 einen Stapelplan (z. B. den Stapelplan 502) erzeugen. In einigen Ausführungsformen kann das Robotersystem 100 mit dem Erzeugen des Stapelplans 502 beginnen, wenn die Platzierungsposition des verarbeiteten Pakets ein oder mehrere bereits platzierte/verarbeitete Pakete überlappt.
  • Bei dem Erzeugen des Stapelplans 502 und/oder Beurteilen der 2D-Pläne kann das Robotersystem 100 jede der Platzierungskombinationen 364 und/oder jeden der Platzierungspläne in 3D-Zustände umwandeln, wie bei Block 652 veranschaulicht. Zum Beispiel kann das Robotersystem 100 die Höhenwerte für die Pakete den Platzierungskombinationen 364 zuweisen. Anders formuliert, kann das Robotersystem 100 eine Konturenabbildung (eine Schätzung einer Tiefenabbildung) basierend auf dem Hinzufügen der Pakethöhen zu Platzierungskombinationen 364 erzeugen.
  • Bei den 3D-Zuständen kann das Robotersystem 100 die Platzierungskombinationen 364 gemäß einer oder mehreren Stapelregeln (z. B. der Horizontalversatzregel 402 aus 4A, der Stütztrennungsregel 404 aus 4B und/oder der Vertikalversatzregel 406 aus 4C) beurteilen. Als ein veranschaulichendes Beispiel kann das Robotersystem 100, wenn das platzierte Paket auf/über einem oder mehreren bereits verarbeiteten Paketen gestapelt wird, beliebige der Platzierungskombinationen 364 beseitigen, die die Überlappungsanforderung 422 aus 2, die Überstandsanforderung 424 aus 4A, die Vertikalversatzregel 406, die CoM-Versatzanforderung 426 aus 4A oder eine Kombination davon missachten, wie vorstehend beschrieben. In einer oder mehreren Ausführungsformen kann das Robotersystem 100 beliebige der Platzierungskombinationen 364 beseitigen, die die Zerbrechlichkeitseinstufungen von einem oder mehreren Paketen unter dem verarbeiteten Paket missachten, wie etwa durch Schätzen der gestützten Gewichte an den überlappten Paketen und Vergleichen dieser mit den entsprechenden Zerbrechlichkeitseinstufungen.
  • Für die übrigen Platzierungskombinationen 364 kann das Robotersystem 100 3D-Platzierungsbewertungen berechnen oder die Platzierungsbewertung aktualisieren, wie bei Block 654 veranschaulicht. Das Robotersystem 100 kann vorbestimmte Präferenzen (z. B. Gewichte und/oder Gleichungen) in Verbindung mit Platzierungskosten und/oder heuristischen Werten für 3D-Platzierungen verwenden. Die vorbestimmten 3D-Präferenzen können den 2D-Präferenzen, Gruppierungspräferenzen, Sequenzierungsbedingungen oder einer Kombination davon ähneln. Zum Beispiel können die 3D-Präferenzen dazu konfiguriert sein, Kollisionswahrscheinlichkeiten basierend auf dem 3D-Zustand zu berechnen und Bewertungen zu berechnen, die die Platzierungskombinationen mit geringeren Kollisionswahrscheinlichkeiten bevorzugen. Außerdem kann das Robotersystem 100 die Bewertungen basierend auf den übrigen Paketen 372, Größen von Stützbereichen mit gemeinsamer Höhe, Anzahl von gepackten Elementen im 3D-Zustand, der Differenz zwischen den Höhen der verarbeiteten Pakete oder einer Kombination davon berechnen. In einigen Ausführungsformen kann das Robotersystem 100 die Sequenz der Platzierungskombinationen 364 in der Prioritätswarteschlange 376 gemäß den Bewertungen aktualisieren.
  • Nachdem die 3D-Zustände verarbeitet wurden, kann das Robotersystem 100 die 2D-Pläne durch Ableiten einer Platzierung für das nächste Paket der übrigen Pakete 372 aktualisieren, wie etwa bei Block 610. Das Robotersystem 100 kann den vorstehend beschriebenen Prozess bis zu einer Stoppbedingung wiederholen, wie etwa, wenn alle der verfügbaren Pakete 362 verarbeitet wurden (d. h. leerer Wert/leere Reihe für die übrigen Pakete 372) und/oder wenn die Platzierungskombinationen 364 nicht verbessert werden können (auch als nicht verbesserte Kombinationen bezeichnet). Einige Beispiele für nicht verbesserte Kombinationen können beinhalten, dass die derzeit verarbeitete Platzierung die letzte der Platzierungskombinationen 364 in der Prioritätswarteschlange 376 aufgrund einer oder mehreren der Missachtungen beseitigt und/oder dass die Platzierungsbewertung für die bevorzugten Kombinationen über eine Schwellenanzahl an Iterationen hinweg konstant bleibt.
  • Wenn die Stoppbedingung detektiert wurde, wie etwa bei Block 656, kann das Robotersystem 100 eine der abgeleiteten Platzierungskombinationen 364 gemäß den Platzierungsbewertungen (z. B. den 2D- und/oder den 3D-bezogenen Bewertungen) auswählen. Dementsprechend kann das Robotersystem 100 die ausgewählte Platzierungskombination als den Stapelplan 502 (z. B. eine Reihe der Platzierungspläne 350) festlegen.
  • In einigen Ausführungsformen kann das Robotersystem 100 als ein veranschaulichendes Beispiel die Funktionen von Block 610 und 612 unterschiedlich umsetzen. Zum Beispiel kann das Robotersystem 100 bei Block 610 den 2D-Plan (z. B. einen Teil des Platzierungsplans 350) für eine untere Schicht erzeugen, wie vorstehend beschrieben. Demnach kann das Robotersystem 100 dazu konfiguriert sein, größere Präferenzen (z. B. größere Parametergewichtungen) für das Entsprechen der Pakethöhen, größere Paketgewichte und/oder ein größeres unterstütztes Gewicht für die Pakete bei der Berücksichtigung der Platzierungen und/oder der Verarbeitungsreihenfolge zuzuordnen. Das Robotersystem 100 kann den ersten 2D-Plan für die Basisschicht ableiten, wie vorstehend für Block 610 beschrieben.
  • Sobald die erste 2D-Schicht vollständig/voll ist, wie vorstehend beschrieben, wodurch die Basisschicht gebildet wird, kann das Robotersystem 100 den Platzierungsplan in 3D-Zustände umwandeln, wie für Block 612/652 beschrieben. Unter Verwendung der 3D-Informationen kann das Robotersystem 100 einen oder mehrere planare Abschnitte/Bereiche (z. B. die Platzierungsflächen 352-356 aus 3B) der Basisschicht identifizieren, wie vorstehend beschrieben. Unter Verwendung der planaren Abschnitte kann das Robotersystem 100 Paketplatzierungen für die nächste Schicht über der Basisschicht iterativ/rekursiv ableiten. Das Robotersystem 100 kann jeden der planaren Abschnitte als neue Teile der diskretisierten Plattformmodelle 304 berücksichtigen und unterschiedliche Platzierungen testen/beurteilen, wie vorstehend für Block 610 beschrieben. In einigen Ausführungsformen kann das Robotersystem 100 die 2D-Platzierungen unter Verwendung der Platzierungsflächen ableiten, jedoch die Bewertung für die Gesamtheit der Platzierungspalette 340 berechnen. Dementsprechend kann das Robotersystem 100 dazu konfiguriert sein, Präferenzen für größere Platzierungsbereiche für nachfolgende Schichten zu folgen, ohne auf die vorherigen Platzierungsbereiche beschränkt zu sein.
  • Sobald der iterative Platzierungsprozess für die zweite Schicht stoppt, kann das Robotersystem 100 planare Abschnitte (z. B. obere Flächen mit Höhen innerhalb eines Schwellenbereichs) für die abgeleitete Schicht berechnen, um die 2D-Platzierungen der übrigen Pakete/Gruppierungen für die nächste darüberliegende Schicht zu erzeugen. Der iterative Schichtungsprozess kann fortgesetzt werden, bis die Stoppbedingung erfüllt wurde, wie vorstehend beschrieben.
  • In einigen Ausführungsformen kann das Robotersystem 100 bei Block 612 2D-Pläne separat erzeugen (z. B. zwei oder mehr der Platzierungspläne 350). Das Robotersystem 100 kann den Stapelplan 502 basierend auf dem vertikalen Kombinieren (z. B. Anordnen/Überlappen der 2D-Platzierungspläne entlang einer vertikalen Richtung) der 2D-Pläne erzeugen.
  • Bei Block 614 kann das Robotersystem 100 eine Packsequenz (z. B. die Stapelsequenz 530 aus 5B) basierend auf dem Stapelplan 502 berechnen. Beispielsweise kann die Packsequenz zur Identifizierung der Platzierungsreihenfolge der verfügbaren Pakete 362 dienen. In einigen Ausführungsformen, wie bei Block 662 veranschaulicht, kann das Robotersystem 100 die Packsequenz Schicht für Schicht berechnen. Anders formuliert, kann das Robotersystem 100 die Packsequenz für jede Schicht berechnen und dann die Sequenzen gemäß der Reihenfolge/Position der Schichten von unten nach oben verbinden. Beim Berechnen der Packsequenz kann das Robotersystem 100 in einigen Ausführungsformen die Platzierungspläne anpassen, wie bei Block 672 veranschaulicht. Zum Beispiel kann das Robotersystem 100 die Platzierungspläne durch erneutes Zuweisen eines oder mehrerer der Pakete (z. B. Pakete mit Höhen, die die Kollisionswahrscheinlichkeiten für nachfolgende Veränderungen/Übertragungen erhöhen) von einem Platzierungsplan einer unteren Schicht zu einem Platzierungsplan einer oberen Schicht anpassen. Alle Pakete, die von dem neu zugewiesenen Paket gestützt werden, können auch einer weiter höheren Schicht zugewiesen werden. Anders formuliert, können die neu zugewiesenen Pakete in derselben horizontalen Platzierung bleiben und einer höheren Schicht zugeordnet werden, sodass die Pakete später platziert werden können, wie in 5B veranschaulicht. Bei Block 674 kann das Robotersystem 100 die Packsequenz (z. B. die Stapelsequenz 530) basierend auf dem angepassten Platzierungsplan berechnen, wie etwa durch Packen/Verändern von Objekten, die den höheren Schichten zugewiesen sind, nach den Objekten, die den unteren Schichten zugewiesen sind.
  • In anderen Ausführungsformen, wie bei Block 664 veranschaulicht, kann das Robotersystem 100 die Packsequenz unbeschadet/unabhängig von den Schichtzuweisungen berechnen. Anders formuliert, kann das Robotersystem 100 die Packsequenz derart berechnen, dass Pakete, die einer unteren Schicht zugewiesen sind, nach Paketen platziert werden können, die einer höheren Schicht zugewiesen sind.
  • Beim Berechnen der Packsequenz, sowohl innerhalb von Schichten als auch zwischen diesen, kann das Robotersystem 100 die Positionen der Pakete im Stapelplan 502 gemäß einer oder mehreren Paketabmessungen (z. B. Höhen), relativen Platzierungspositionen oder einer Kombination davon analysieren. Zum Beispiel kann das Robotersystem 100 Platzierungen von Kisten weiter weg von einer Einheits-/Referenzposition (z. B. Position des Palettierungsroboters) vor näher zugewiesenen Paketen sequenzieren. Außerdem kann das Robotersystem 100 größere/schwerere Pakete früher platzieren, wenn ihre zugewiesenen Positionen entlang den Umfängen des Platzierungsplans und entfernt von der Einheitsposition sind.
  • Bei Block 616 kann das Robotersystem 100 den Stapelplan 502 für das Platzieren der verfügbaren Pakete 362 auf der Plattform umsetzen. Das Robotersystem 100 kann den Stapelplan 502 basierend auf dem Kommunizieren von einem/einer oder mehreren Bewegungsplänen, Aktorbefehlen/-einstellungen oder einer Kombination davon an die entsprechende Vorrichtung/Einheit (z. B. die Übertragungseinheit 104 aus 1, die Betätigungsvorrichtungen 212 aus 2, die Sensoren 216 aus 2 usw.) gemäß dem Stapelplan 502 umsetzen. Das Robotersystem 100 kann ferner den Stapelplan 502 basierend auf dem Ausführen der kommunizierten Informationen an den Vorrichtungen/Einheiten umsetzen, um die verfügbaren Pakete 362 von einer Startposition zur Zielplattform zu übertragen. Dementsprechend kann das Robotersystem 100 die verfügbaren Pakete 362 gemäß der 3D-Abbildung platzieren, wobei eines oder mehrere der verfügbaren Pakete 362 auf anderen Paketen platziert/gestapelt werden, wie etwa durch das Platzieren der verfügbaren Pakete 362 Schicht für Schicht. Ferner kann das Robotersystem 100 die Pakete gemäß der Packsequenz verändern/übertragen. Somit kann das Robotersystem 100 die Pakete Schicht für Schicht oder ohne derartige Einschränkungen platzieren, wie vorstehend beschrieben.
  • In einigen Ausführungsformen kann das Umsetzen des Stapelplans 502 beinhalten, dass das Robotersystem 100 die verfügbaren Pakete 362, die außerhalb der Sequenz am Robotersystem 100 ankommen (Block 680), verarbeitet. In einigen Ausführungsformen wird angenommen, dass sich die Pakete außerhalb der Sequenz befinden, wenn sie in einer anderen Sequenz als der Sequenz (z. B. eine vorher bestimmte Stapelsequenz), in der sie am Ziel zu platzieren sind, an der Startposition 114 ankommen. Weitere Einzelheiten in Bezug auf das Robotersystem 100, das die verfügbaren Pakete 362 verarbeitet, die außerhalb der Sequenz ankommen, sind zumindest unter Bezugnahme auf die 7-11 unten beschrieben.
  • Die Diskretisierung der Aufgaben und die 2D-/3D-Schichtung, wie vorstehend beschrieben, stellen verbesserte Effizienz, Geschwindigkeit und Genauigkeit für das Packen von Objekten bereit. Dementsprechend können die Reduzierung der Bedienereingaben und die Erhöhung der Genauigkeit ferner menschliche Arbeit für den automatisierten Packprozess verringern. In einigen Umgebungen kann das Robotersystem 100, wie vorstehend beschrieben, die Notwendigkeit für Sequenzierungspuffer, die etwa oder mehr als 1 Million US-Dollar kosten können, beseitigen.
  • Verarbeitung von Paketen außerhalb der Sequenz
  • 7 ist eine beispielhafte Umgebung, in der das Robotersystem 100 arbeiten kann, um Pakete zu verarbeiten, die außerhalb der Sequenz ankommen. Das Robotersystem 100 kann für das Verarbeiten von Paketen, die außerhalb der Sequenz ankommen, zur Platzierung an einem bestimmten Ziel (z. B. einem Lager oder einem Träger, in einer Stapelsequenz,) verwendet werden. In einigen Ausführungsformen gelten die Pakete als außerhalb der Sequenz, wenn sie in einer anderen Sequenz als der Sequenz, in der sie am Ziel zu platzieren sind, an der Startposition 114 ankommen. Zum Beispiel kann das Paket als außerhalb der Sequenz betrachtet werden, wenn es nicht mit der Packsequenz 530 aus 5B übereinstimmt. Das Robotersystem 100 in dem Beispiel aus 7 ist bei der Verarbeitung von Pakete für die Platzierung von einem Träger in ein Lager veranschaulicht. Jedoch kann das Robotersystem 100 auch zur Platzierung der Pakete von dem Lager in einen Träger, z. B. einen Lastkraftwagen, umgesetzt werden.
  • Die Übertragungseinheit 104 des Robotersystems 100 nimmt die verfügbaren Pakete 362 an der Startposition 114 als das Zielobjekt 112 zur Platzierung an der Aufgabenposition 116, wie etwa einer Palette oder einer Plattform, auf. Die Übertragungseinheit 104 kann die verfügbaren Pakete 362 außerhalb der Sequenz aufnehmen. Die Übertragungseinheit 104 kann einen Lagerbereich 705 für das vorübergehende Lagern von einem oder mehreren der verfügbaren Pakete 362 (z. B. denjenigen, die außerhalb der Sequenz ankommen) verwenden, bis die Pakete an der Aufgabenposition 116 in einer Stapelsequenz 720, die durch einen Stapelplan definiert ist, platziert werden können. Zum Beispiel lagert die Übertragungseinheit 104 die Pakete, die sich außerhalb der Sequenz befinden, im Lagerbereich 705 und nimmt diese aus dem Lagerbereich 705, wenn sie in der Stapelsequenz 530 für die Platzierung an der Aufgabenposition 116 (die auch als Plattform bezeichnet wird) als nächstes kommen. Auf diese Weise kann das Robotersystem 100 die Notwendigkeit, die verfügbaren Pakete 362 (z. B. von der Entladeeinheit 102) in der Stapelsequenz aufzunehmen, beseitigen. Das heißt, dass das Robotersystem 100 die verfügbaren Pakete 362 gemäß der im Stapelplan definierten Stapelsequenz 720 auf der Plattform unabhängig von einer tatsächlichen Sequenz, in der das Robotersystem 100 die verfügbaren Pakete 362 aufnimmt, anordnen kann. In einigen Ausführungsformen korreliert die Stapelsequenz 720 eine Paket-ID 721 eines Pakets mit einer Sequenz-ID 722 des Pakets. Die Sequenz-ID 722 eines bestimmten Pakets stellt eine Stapelsequenz dieses bestimmten Pakets dar. Ferner ähnelt die Stapelsequenz 720 in einigen Ausführungsformen der Stapelsequenz 530 aus 5B und sie kann Teil des Stapelplans 502 sein.
  • Zum Beispiel kommen die verfügbaren Pakete 362, z. B. die Pakete „A“ - „I“, über einen Transportmechanismus, wie etwa ein Förderband 110, an der Übertragungseinheit 104 an. Das Förderband 110 kann mit einer Abtastvorrichtung 715, wie etwa einer Barcode-Lesevorrichtung, ausgestattet sein, die einen Code, der mit jedem der verfügbaren Pakete 362 assoziiert ist, lesen kann. In einigen Ausführungsformen kann der Code, der mit einem Paket assoziiert ist, z. B. ein Barcode, Paketidentifizierungsinformationen aufweisen, wie etwa eines oder mehrere von einer Paketidentifizierung (ID) 721, Versandinformationen (z. B. Lieferadresse), Paketabmessungen, Paketausrichtungsdetails, Gewichtsbereich, Zerbrechlichkeitseinstufung, Plan-ID des Stapelplans, von dem das Paket ein Teil ist. Die Platzierung der Abtastvorrichtung 715 und des Codes auf den Paketen kann vorkonfiguriert sein. Wenn sich beispielsweise die Abtastvorrichtung 715 unter dem Förderband 110 befindet, kann der Code an der Unterseite des Pakets befestigt sein oder die Entladeeinheit 102 kann dazu konfiguriert sein, das Paket derart auf dem Förderband 110 zu platzieren, dass der Code von der Abtastvorrichtung 715 gelesen werden kann. Wenn die verfügbaren Pakete 362 die Abtastvorrichtung 715 nacheinander in einer Abfolge passieren, kann das Robotersystem 100 die Identität des Pakets über die Paket-ID bestimmen, indem die Abtastvorrichtung 715 (z. B. über Anweisungen von einem oder mehreren der Prozessoren 202) derart betrieben wird, dass sie den mit den verfügbaren Paketen 362 assoziierten Code liest. Zum Beispiel kann das Robotersystem 100 die Paket-ID der verfügbaren Pakete 362 anhand des mit dem verfügbaren Paket 362 assoziierten Codes identifizieren. Das Robotersystem 100 kann dann von der Lagervorrichtung 204 aus 2 auf den Stapelplan der verfügbaren Pakete 362 zugreifen, wie etwa den Stapelplan 502 aus 5. Das Robotersystem 100 kann auch eine Stapelsequenz der verfügbaren Pakete 362 von dem Stapelplan erhalten, wie etwa die Stapelsequenz 530, die für eine Reihenfolge repräsentativ ist, in der die verfügbaren Pakete 362 an der Aufgabenposition 116 zu platzieren sind. Zum Beispiel kann sich das Robotersystem 100 auf die Stapelsequenz 720 beziehen, um Sequenz-IDs 722 der verfügbaren Pakete 362 zu erhalten. In einigen Ausführungsformen stellt eine Sequenz-ID des Pakets die Stapelsequenz des Pakets an der Aufgabenposition 116 dar. Wie vorstehend beschrieben, kann es sich bei dem Stapelplan um eine 3D-Kombination aus mehreren 2D-Platzierungsplänen (z. B. vertikale Überlagerung der 2D-Platzierungspläne) gemäß den Stapelregeln handeln, bei denen jeder 2D-Platzierungsplan ein Plan für das Platzieren der Pakete in einer festgelegten Anordnung in einer bestimmten Schicht auf der Palette ist.
  • Wenn die verfügbaren Pakete 362 an der Startposition 114 ankommen, z. B. nacheinander, und das Zielobjekt 112 werden (z. B. das Objekt für eine Aufgabe zum Ausführen durch die Übertragungseinheit 104 werden), kann das Robotersystem 100 bestimmen, wie etwa mit einem oder mehreren der Prozessoren 202 aus 2, ob ein Paket in der Sequenz für die Platzierung an der Aufgabenposition 116, z. B. auf der Palette, als nächstes kommt, und platziert das Paket an der Aufgabenposition 116, wenn das Paket in der Sequenz als nächstes kommt, und lagert das Paket anderenfalls im Lagerbereich 705, z. B. auf einem der Lagerregale, wie etwa dem Lagerregal 710, zur späteren Platzierung auf der Aufgabenposition 116. Die Übertragungseinheit 104 kann die Platzierung der Pakete 362 an der Aufgabenposition 116 abschließen, indem sie ein Paket innerhalb der Sequenz (z. B. ein Paket, das an der Startposition 114 ankommt und in der Stapelsequenz 530 für die Platzierung an der Aufgabenposition 116 als nächstes kommt) an der Aufgabenposition 116 platziert oder vorübergehend ein Paket außerhalb der Sequenz (z. B. ein Paket, das an der Startposition 114 ankommt und in der Stapelsequenz 530 für die Platzierung an der Aufgabenposition 116 nicht als nächstes kommt) im Lagerbereich 705 lagert und anschließend das vorübergehend gelagerte Paket außerhalb der Sequenz an der Aufgabenposition 116 platziert, wenn es schließlich in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt.
  • 8 ist ein Blockdiagramm, das ein Beispiel 800 für verschiedene Phasen bei der Platzierung der verfügbaren Pakete 362 aus 3 an der Aufgabenposition 116 aus 1 oder 7 in Übereinstimmung mit verschiedenen Ausführungsformen veranschaulicht. In einigen Ausführungsformen kann das Beispiel 800 in der Umgebung aus 7 umgesetzt werden. Da die verfügbaren Pakete 362 die Abtastvorrichtung 715 aus 7 auf ihrem Weg zur Startposition 114 passieren, würde das Robotersystem 100, wie vorstehend beschrieben, die Paket-IDs und Sequenz-IDs der Pakete kennen, wenn sie an der Startposition 114 ankommen, was dem Robotersystem 100 dabei helfen würde, die Pakete zur Platzierung an der Aufgabenposition 116 (z. B. über die Übertragungseinheit 104) zu verarbeiten. Zum Beispiel erhält die Übertragungseinheit 104 in einer ersten Phase 805, in der das erste Paket der verfügbaren Pakete 362 die Abtastvorrichtung 715 passiert, die Paket-ID des ersten Pakets (z. B. „A“) von der Abtastvorrichtung 715 und die Sequenz-ID des Pakets „A“ aus der Stapelsequenz 720. Wenn das Paket „A“ die Startposition 114 aus 1 oder 7 erreicht, bestimmt die Übertragungseinheit 104, dass Paket „A“ mit der Sequenz-ID „2“ in der Sequenz für die Platzierung an der Aufgabenposition 116 nicht als nächstes kommt (da noch keine Pakete an der Aufgabenposition 116 platziert sind), und platziert deshalb das Paket „A“ auf dem Lagerregal 710 des Lagerbereichs 705, wie in der ersten Platzierung 805 veranschaulicht. Nach dem Platzieren des Pakets „A“ auf dem Lagerregal 710 protokolliert die Übertragungseinheit 104 außerdem Lagerpositionsinformationen des Pakets „A“, z. B. in den Verfolgungsdaten 254 aus 2. Bei den Lagerpositionsinformationen kann es sich um 3D-Positionsinformationen des Pakets „A“ im Lagerbereich 705 handeln. Die Lagerpositionsinformationen eines Pakets können von der Übertragungseinheit 104 verwendet werden, um das Paket im Lagerbereich 705 zu lokalisieren und das Paket bei und nach Bedarf aus dem Lagerbereich 705 zu entnehmen. In einigen Ausführungsformen kann die Übertragungseinheit 104 eine Datenstruktur (die als „Lagerkarte“ bezeichnet wird) erzeugen, welche die Paket-ID, die Sequenz-ID und die Lagerpositionsinformationen von jedem Paket speichert, das in dem Lagerbereich 705 vorübergehend gelagert wird.
  • Wenn das Paket „B“ an der Startposition 114 ankommt, bestimmt die Übertragungseinheit 104 unter erneuter Bezugnahme auf die Verarbeitung der verfügbaren Pakete, dass Paket „B“ mit der Sequenz-ID „1“ in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, und platziert deshalb das Paket „B“ an der Aufgabenposition 116, wie in der zweiten Platzierung 806 veranschaulicht. In einigen Ausführungsformen platziert die Übertragungseinheit 104 das Paket „B“ gemäß dem Stapelplan. Die Übertragungseinheit 104 kann die Sequenz-IDs der Pakete, die an der Aufgabenposition 116 platziert sind, nachverfolgen. Nach dem Platzieren des Pakets „B“ an der Aufgabenposition 116 kann die Übertragungseinheit 104 beispielsweise einen Sequenzzähler, der mit der Aufgabenposition 116 assoziiert ist und die Sequenz-ID des zuletzt platzierten Pakets an der Aufgabenposition 116 angibt, auf „1“ aktualisieren.
  • Das Robotersystem 100 bestimmt, dass das Paket, das in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, das Paket mit der Sequenz-ID „2“ ist, wobei es sich um das Paket „A“ handelt, das im Lagerbereich 705 gelagert ist. Dementsprechend bestimmt die Übertragungseinheit 104 die Lagerpositionsinformationen des Pakets „A“ anhand der Lagerkarte, nimmt das Paket aus dem Lagerregal 710 basierend auf den Lagerpositionsinformationen und platziert das Paket „A“ an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der dritten Platzierung 807 veranschaulicht. Die Übertragungseinheit 104 aktualisiert den Sequenzzähler auf „2“ nach dem Platzieren des Pakets „A“ an der Aufgabenposition 116. Ferner aktualisiert die Übertragungseinheit 104 auch die Lagerkarte, um anzugeben, dass das Paket „A“ an der Aufgabenposition 116 platziert wurde. Zum Beispiel kann die Lagerkarte einen Indikator aufweisen, der angibt, ob ein Paket an der Aufgabenposition 116 platziert ist oder nicht. In einigen Ausführungsformen kann die Übertragungseinheit 104 den Eintrag aus der Lagerkarte entfernen, wenn ein Paket aus dem Lagerbereich 705 an der Aufgabenposition 116 platziert wurde.
  • Nach dem Platzieren des Pakets „A“ an der Aufgabenposition 116 verarbeitet die Übertragungseinheit 104 das nächste verfügbare Paket in der Abfolge, wobei es sich um das Paket „C“ mit der Sequenz-ID „3“ handelt. Die Übertragungseinheit 104 bestimmt, dass das Paket „C“ in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, und platziert das Paket „C“ an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der vierten Platzierung 808 veranschaulicht. Die Übertragungseinheit 104 aktualisiert außerdem den Sequenzzähler auf „3“ nach dem Platzieren des Pakets „C“ an der Aufgabenposition 116. Gleichermaßen platziert die Übertragungseinheit 104 das Paket „D“ mit der Sequenz-ID „4“ an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der fünften Platzierung 809 veranschaulicht, und aktualisiert den Sequenzzähler auf „4“.
  • Für das Paket, das in der Reihe als nächstes ankommt, z. B. Paket „E“, bestimmt die Übertragungseinheit 104, dass das Paket „E“ mit der Sequenz-ID „12“ in der Sequenz für die Platzierung an der Aufgabenposition 116 nicht als nächstes kommt, und lagert deshalb das Paket „E“ im Lagerbereich 705, z. B. auf dem Lagerregal 710, wie in der sechsten Platzierung 810 veranschaulicht. Gleichermaßen verarbeitet die Übertragungseinheit 104 die Pakete „F“ - „I“ nacheinander von der Startposition 114 aus und platziert die Pakete auf einem oder mehreren Lagerregalen im Lagerbereich 705, wie in den Platzierungen 811-814 veranschaulicht. Die Übertragungseinheit 104 aktualisiert die Lagerkarte, um die Paket-IDs, Sequenz-IDs und die Lagerpositionsinformationen der Pakete „E“ - „I“ zu protokollieren. In einigen Ausführungsformen werden eines oder mehrere Pakete, die im Lagerbereich 705 gelagert sind, als Paketreihe bezeichnet.
  • Wenn das Paket „J“ an der Startposition 114 ankommt, bestimmt die Übertragungseinheit 104, dass das Paket „J“ mit der Sequenz-ID „5“ in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, und platziert das Paket „J“ an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der elften Platzierung 815 veranschaulicht. Die Übertragungseinheit 104 aktualisiert außerdem den Sequenzzähler auf „5“.
  • Die Übertragungseinheit 104 bestimmt, dass das Paket, das in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, das Paket mit der Sequenz-ID „6“ ist, wobei es sich um das Paket „G“ der Paketreihe handelt, das im Lagerbereich 705 gelagert ist. Dementsprechend bestimmt die Übertragungseinheit 104 die Lagerpositionsinformationen des Pakets „G“ anhand der Lagerkarte, nimmt das Paket aus dem Lagerbereich 705 basierend auf den Lagerpositionsinformationen und platziert das Paket „G“ an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der zwölften Platzierung 816 veranschaulicht. Die Übertragungseinheit 104 aktualisiert den Sequenzzähler auf „6“ und aktualisiert die Lagerkarte, um anzugeben, dass das Paket „G“ an der Aufgabenposition 116 platziert ist.
  • Als nächstes bestimmt die Übertragungseinheit 104, dass die Paketreihe im Lagerbereich 705 kein Paket aufweist, das in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, und geht deshalb dazu über, ein verfügbares Paket zu verarbeiten, das in der Abfolge als nächstes ankommt, z. B. Paket „K“ mit der Sequenz-ID „7“. Die Übertragungseinheit 104 bestimmt, dass das Paket „K“ in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, und platziert es an der Aufgabenposition 116 gemäß dem Stapelplan, wie in der dreizehnten Platzierung 817 veranschaulicht. Die Übertragungseinheit 104 aktualisiert außerdem den Sequenzzähler auf „7“.
  • Als nächstes geht die Übertragungseinheit 104 dazu über, die Pakete „I“ und „H“ nacheinander aus dem Lagerbereich 705 an der Aufgabenposition 116 zu platzieren, wie in den Platzierungen 818 und 819 veranschaulicht. Die Übertragungseinheit 104 fährt damit fort, die Pakete wie vorstehend beschrieben zu verarbeiten, bis eine Stoppbedingung erfüllt ist, z. B. bis alle verfügbaren Pakete 362 an der Aufgabenposition 116 platziert werden. Der Sequenzzähler und/oder die Lagerkarte werden bei und nach Bedarf aktualisiert (z. B., wenn ein Paket an der Aufgabenposition 116 oder im Lagerbereich platziert wird oder aus dem Lagerbereich zur Platzierung an der Aufgabenposition 116 entfernt wird), um einen Zustand der Anordnung der Pakete anzugeben.
  • Es ist anzumerken, dass die Pakete in mehreren Schichten an der Aufgabenposition 116 angeordnet/gestapelt werden, z. B. die Pakete „D“, „C“, „A“ und „B“ in einer ersten Schicht, „I“, „K“, „J“ und „G“ in einer zweiten Schicht, „H“ in einer dritten Schicht und so weiter. Eine derartige Anordnung wird durch den Stapelplan definiert, wie vorstehend zumindest unter Bezugnahme auf die 4A-5B beschrieben.
  • Der Lagerbereich 705 kann in einer von vielen Konfigurationen gestaltet sein, die für die Übertragungseinheit 104 geeignet ist, um die Pakete darin zu platzieren und/oder Pakete daraus zu entnehmen. Zum Beispiel kann der Lagerbereich 705 als mehrere Lagerregale 710 konfiguriert sein, die in einer halbkreisförmigen mehrstufigen Struktur angeordnet sind, wie etwa einer Amphitheater-Konfiguration oder einer Treppenform. In einem anderen Beispiel können die Lagerregale 710 als mehrere Reihen und Säulen angeordnet sein.
  • Die Übertragungseinheit 104 kann die Paketreihe in verschiedenen Anordnungen im Lagerbereich 705 platzieren. Zum Beispiel kann die Übertragungseinheit 104 die Pakete der Paketreihe seitlich - nebeneinander - auf dem Lagerregal 710 platzieren, bevor sie zu einem anderen Lagerregal 710 bewegt werden. In einem anderen Beispiel kann die Übertragungseinheit 104 die Pakete im Lagerbereich 705 auf zufällige Weise platzieren. In noch einem weiteren Beispiel kann die Übertragungseinheit 104 Platzierungspläne, wie etwa die zumindest unter Bezugnahme auf die 3A-3C beschriebenen Platzierungspläne, zum Platzieren der Pakete im Lagerbereich 705 erzeugen. Die Platzierungspläne können die Anzahl der Lagerregale, die Abmessungen der Lagerregale, die Tragfähigkeit der Lagerregale usw. für das Platzieren der Pakete im Lagerbereich 705 berücksichtigen. Unabhängig davon können die Pakete derart im Lagerbereich 705 gelagert werden, dass die Übertragungseinheit 104 den verfügbaren Lagerplatz im Lager 705 zum Lagern von einem oder mehreren der verfügbaren Pakete 362 effizient nutzen kann und die Pakete am effizientesten im Lagerbereich 705 platzieren und aus dem Lagerbereich 705 entnehmen kann.
  • Der Prozess des vorübergehenden Lagerns von einem oder mehreren der verfügbaren Pakete 362 im Lagerbereich 705 und dann des Bewegens dieser zur Aufgabenposition 116 kann auf verschiedene Arten umgesetzt werden. In einem ersten Beispiel kann die Übertragungseinheit 104 jedes der verfügbaren Pakete 362 (z. B. nacheinander) im Lagerbereich 705 lagern und dann die Pakete aus dem Lagerbereich 705 verarbeiten, um sie gemäß dem Stapelplan an der Aufgabenposition 116 zu platzieren. In einem zweiten Beispiel kann die Übertragungseinheit 104 die verfügbaren Pakete 362 basierend auf der Sequenz-ID des ankommenden Pakets im Lagerbereich 705 oder an der Aufgabenposition 116 platzieren, wie zumindest unter Bezugnahme auf 8 beschrieben. Das zweite Beispiel kann jedoch die Steuerung des Förderbands 110, wie etwa Stoppen, Starten oder Reduzieren oder Erhöhen einer Geschwindigkeit des Förderbands 110 erfordern. Wenn beispielsweise die Übertragungseinheit 104 bestimmt, dass das Paket, das in der Sequenz für die Platzierung an der Aufgabenposition 116 als nächstes kommt, im Lagerbereich 705 gelagert wird (z. B. Paket „A“, wie in der zweiten Platzierung 806 veranschaulicht), muss das Robotersystem 100 womöglich einen Plan zum Stoppen des Förderbands 110 oder Reduzieren der Geschwindigkeit von diesem umsetzen, um zu verhindern, dass das Förderband 110 das nächste verfügbare Paket in der Abfolge liefert, bis das Paket aus dem Lagerbereich 705 an der Aufgabenposition 116 platziert ist (z. B. Stoppen der Lieferung von Paket „C“, bis Paket „A“ an der Aufgabenposition 116 platziert ist, wie in der zweiten Platzierung 806 veranschaulicht). Das Robotersystem 100 kann dann das Förderband 110 starten oder dessen Geschwindigkeit erhöhen, um das nächste verfügbare Paket in der Abfolge zur Startposition 114 zu liefern. In einigen Ausführungsformen kann das Robotersystem 100 einen Plan umsetzen, um die Geschwindigkeit für das Förderband 110 zu regulieren, indem Anweisungen erzeugt werden, die die Geschwindigkeit des Förderbands 110 steuern, z. B. starten, stoppen oder anpassen.
  • In einigen Ausführungsformen kann das erste Beispiel mehr Ressourcen, z. B. Verarbeitungszeit, Lagerressourcen, als das zweite Beispiel verbrauchen, da alle verfügbaren Pakete 362 zuerst im Lagerbereich 705 gelagert und dann an der Aufgabenposition 116 platziert werden. In einigen Ausführungsformen jedoch kann das zweite Beispiel dieselben Ressourcen wie das erste Beispiel verbrauchen, wenn die verfügbaren Pakete 362 an der Startposition 114 umgekehrt zu der Sequenz aufgenommen werden, in der die Pakete an der Aufgabenposition 116 zu platzieren sind, da alle Pakete im Lagerbereich 705 zu lagern und dann aus dem Lagerbereich 705 zu verarbeiten sind, um an der Aufgabenposition 116 platziert zu werden.
  • Die 9-11 veranschaulichen drei unterschiedliche Prozesse für das Platzieren der Pakete, die sich außerhalb der Sequenz befinden, auf einer Plattform unter Verwendung eines Lagerbereichs. Während alle drei Prozesse dasselbe Endergebnis des Platzierens der verfügbaren Pakete 362 aus 3 gemäß einem Stapelplan auf der Plattform erreichen, unterscheiden sich die Verfahren, in denen die Pakete verarbeitet werden. Zum Beispiel verarbeitet der Prozess 900 aus 9 die Pakete auf „zuerst-sequenzieren“-Grundlage, der Prozess 1000 aus 10 auf einer „sequenzieren-und-lagern“-Grundlage und der Prozess 1100 aus 11 auf einer „zuerst-lagern“-Grundlage. Ferner können die vorstehenden Prozesse unterschiedliche Ausführungsformen des Verfahrens aus Block 680 aus 6 sein.
  • In der „zuerst-sequenzieren“-Ausführungsform des Prozesses 900 erhält das Platzieren der Pakete zuerst in einer Sequenz vor dem Verarbeiten der übrigen verfügbaren Pakete Priorität. Das heißt, dass, wenn der Lagerbereich 705 aus 7 ein Paket aufweist, das in der Sequenz für die Platzierung auf der Plattform als nächstes kommt, das Paket auf der Plattform platziert wird, bevor das nächste eingehende verfügbare Paket 362 verarbeitet wird.
  • In der „sequenzieren-und-lagern“-Ausführungsform des Prozesses 1000 wird ein eingehendes verfügbares Paket auf der Plattform platziert, wenn es sich in der Sequenz befindet, anderenfalls wird das Paket im Lagerbereich 705 gelagert. Nachdem alle verfügbaren Pakete aufgenommen und entweder im Lagerbereich 705 oder auf der Plattform platziert wurden, werden alle übrigen Pakete im Lagerbereich 705 zur Platzierung auf der Plattform verarbeitet.
  • In der „zuerst-lagern“-Ausführungsform des Prozesses 1100 werden alle eingehenden verfügbaren Pakete zuerst im Lagerbereich 705 gelagert. Nachdem alle verfügbaren Pakete im Lagerbereich 705 aufgenommen und gelagert wurden, werden die Pakete im Lagerbereich 705 zur Platzierung auf der Plattform verarbeitet.
  • Unter Bezugnahme auf 9 handelt es sich um ein Ablaufdiagramm des Prozesses 900 zur Platzierung der verfügbaren Pakete (z. B. 362 aus 3) auf der Aufgabenposition (z. B. 116 aus 1) unter Verwendung des Lagerbereichs (z. B. 705 aus 7) in Übereinstimmung mit verschiedenen Ausführungsformen. In einigen Ausführungsformen kann der Prozess 900 in der Umgebung der 1 und 7 umgesetzt werden und kann als Teil von Block 680 aus 6 umgesetzt werden. Ferner ist die zumindest unter Bezugnahme auf 8 beschriebene Paketplatzierung in einigen Ausführungsformen ein veranschaulichendes Beispiel für den Prozess 900. Der Prozess 900 kann basierend auf dem Ausführen der Anweisungen, die auf einer oder mehreren der Speichervorrichtungen 204 aus 2 gespeichert sind, mit einem oder mehreren der Prozessoren 202 aus 2 umgesetzt werden. Bei Block 901 kann das Robotersystem 100 auf einen Stapelplan für die verfügbaren Pakete 362 zugreifen. Der Stapelplan, wie etwa der Stapelplan 502 aus 5, beinhaltet Einzelheiten bezüglich der Anordnung der Pakete an der Aufgabenposition 116 (z. B. auf der Plattform). Der Stapelplan 502 beinhaltet außerdem Informationen bezüglich einer Stapelsequenz, in der die Pakete an der Aufgabenposition 116 zu platzieren sind, wie etwa der Stapelsequenz 720 aus 7. In einigen Ausführungsformen wird der Stapelplan 502 wie zumindest unter Bezugnahme auf Block 612 aus 6 beschrieben erzeugt. Die Übertragungseinheit 104 kann auf den in einer Speichervorrichtung des Robotersystems 100 gespeicherten Stapelplan 502 zugreifen, wie etwa der Speichervorrichtung 204. In einigen Ausführungsformen kann der Stapelplan 502 in den Verfolgungsdaten 254 aus 2 gespeichert werden.
  • Bei Block 902 kann das Robotersystem 100 einen Plan für das Aufnehmen der verfügbaren Pakete 362 in einer Abfolge umsetzen. Zum Beispiel kann das Robotersystem 100 Anweisungen für die Übertragungseinheit 104 zum Aufnehmen der verfügbaren Pakete 362, die über das Förderband 110 aus 1 oder 7 transportiert wurden, erzeugen.
  • Bei Block 903 kann das Robotersystem 100 einen Plan für das Identifizieren der verfügbaren Pakete 362 umsetzen. Zum Beispiel kann das Robotersystem 100 eine Anweisung für die Abtastvorrichtung 715 aus 7 zum Abtasten der verfügbaren Pakete 362 auf ihrem Weg zur Übertragungseinheit 104 erzeugen, um die verfügbaren Pakete 362 zu identifizieren. Wenn beispielsweise die verfügbaren Pakete 362 auf dem Förderband 110 zur Übertragungseinheit 104 transportiert werden, tastet die Abtastvorrichtung 715 die verfügbaren Pakete 362 nacheinander ab, wenn die verfügbaren Pakete 362 die Abtastvorrichtung 715 überqueren. Die verfügbaren Pakete 362 können einen Code, z. B. einen Barcode, aufweisen, der am Paket befestigt oder auf das Paket gedruckt ist. Die Abtastvorrichtung 715 tastet den Code ab, um Identifizierungsinformationen der Pakete zu erhalten, wie etwa Paket-IDs.
  • Bei dem Bestimmungsblock 904 kann das Robotersystem 100 beim Aufnehmen eines abgetasteten Pakets bestimmen, ob das abgetastete Paket in der Stapelsequenz 530 für die Platzierung auf der Plattform 116 als nächstes kommt. Das Robotersystem 100 kann die Sequenz-ID des Pakets aus der Sequenzkarte 710 basierend auf der Paket-ID bestimmen.
  • Wenn das Paket in der Sequenz für die Platzierung auf der Plattform als nächstes kommt, kann das Robotersystem 100 bei Block 905 einen Plan für das Platzieren des Pakets auf der Plattform gemäß dem Stapelplan umsetzen. Zum Beispiel kann das Robotersystem 100 eine Anweisung für die Übertragungseinheit 104 zum Platzieren des Pakets gemäß dem Stapelplan auf der Plattform erzeugen. Es ist anzumerken, dass der Stapelplan die Anordnung des Pakets auf der Plattform, z. B., wo auf der Plattform das Paket zu platzieren ist, eine Ausrichtung des Pakets auf der Plattform, welche Seite des Pakets auf der Plattform liegen soll usw. definiert, von denen alle zumindest unter Bezugnahme auf die 3A-6 beschrieben sind. Nachdem das Paket auf der Plattform platziert wurde, kann das Robotersystem 100 die Sequenz-ID des Pakets, das auf der Plattform platziert ist, zum Zwecke der Nachverfolgung protokollieren (z. B. mit einem oder mehreren der Prozessoren 202 aus 2). Zum Beispiel kann das Robotersystem 100 einen Sequenzzähler pflegen, der eine Sequenz-ID des zuletzt platzierten Pakets auf der Plattform angibt.
  • Unter erneuter Bezugnahme auf den Bestimmungsblock 904, wenn das Paket in der Sequenz für die Platzierung auf der Plattform nicht als nächstes kommt, kann das Robotersystem 100 bei Block 906 einen Plan zum Lagern des Pakets in einem Lagerbereich, z. B. dem Lagerbereich 705, umsetzen. Zum Beispiel kann das Robotersystem 100 eine Anweisung für die Übertragungseinheit 104 zum Lagern des Pakets im Lagerbereich 705 erzeugen. In einigen Ausführungsformen können eines oder mehrere der verfügbaren Pakete 362, die im Lagerbereich 705 gelagert sind, als Paketreihe bezeichnet werden.
  • Bei Block 907 kann das Robotersystem 100 Lagerpositionsinformationen einer Lagerposition im Lagerbereich 705, in dem das Paket gelagert ist, protokollieren. In einigen Ausführungsformen kann es sich bei den Lagerpositionsinformationen um 3D-Informationen der Lagerposition handeln. Die Lagerpositionsinformationen des Pakets können in einer Lagerkarte zusammen mit der Paket-ID des Pakets und gegebenenfalls der Sequenz-ID des Pakets gespeichert werden, wie zumindest unter Bezugnahme auf 7 beschrieben.
  • Nachdem das Paket entweder auf der Plattform oder im Lagerbereich 705 platziert wurde, kann das Robotersystem 100 beim Bestimmungsblock 908 bestimmen (z. B. mit einem oder mehreren der Prozessoren 202 aus 2), ob ein Paket im Lagerbereich 705 vorhanden ist, das in der Sequenz für die Platzierung auf der Plattform als nächstes kommt. Zum Beispiel kann sich das Robotersystem 100 auf den Sequenzzähler beziehen, um die nächste Sequenz-ID des Pakets, das auf der Plattform zu platzieren ist, zu bestimmen, und es kann sich auf die Lagerkarte beziehen, um zu bestimmen, ob ein Paket mit der nächsten Sequenz-ID vorhanden ist, und wenn dies der Fall ist, dessen Lagerposition zu bestimmen.
  • Wenn ein Paket im Lagerbereich 705 vorhanden ist, das in der Sequenz für die Platzierung auf der Plattform als nächstes kommt, kann das Robotersystem 100 bei Block 909 einen Plan für das Entnehmen des identifizierten Pakets von der Lagerposition im Lagerbereich 705 umsetzen. Zum Beispiel kann das Robotersystem 100 Anweisungen für die Übertragungseinheit 104 zum Entnehmen des identifizierten Pakets von der Lagerposition im Lagerbereich 705 erzeugen.
  • Bei Block 910 kann das Robotersystem 100 einen Plan für das Platzieren des Pakets gemäß dem Stapelplan auf der Plattform umsetzen. Zum Beispiel kann das Robotersystem 100 Anweisungen für die Übertragungseinheit 104 zum Platzieren des Pakets gemäß dem Stapelplan auf der Plattform erzeugen. Der Prozess der Blöcke 908 bis 910 wird wiederholt, bis im Lagerbereich 705 keine Pakete mehr vorhanden sind, die in der Sequenz für die Platzierung auf der Plattform als nächstes kommen.
  • Wenn im Lagerbereich 705 keine Pakete mehr vorhanden sind, die in der Sequenz für die Platzierung auf der Plattform als nächstes kommen, kann das Robotersystem 100 bei dem Bestimmungsblock 911 bestimmen, ob noch mehr verfügbare Pakete 362 vorhanden sind, die zu platzieren sind. Zum Beispiel bestimmt das Robotersystem 100, ob noch weitere Pakete auf dem Förderband 110 vorhanden sind, die weiterhin für die Platzierung auf der Plattform zu verarbeiten sind. Wenn weitere Pakete aufzunehmen sind, geht der Prozess zu Block 903 über, in dem das nächste abzutastende Paket verarbeitet wird. Wenn alle der verfügbaren Pakete 362 aufgenommen wurden, sind keine Pakete mehr vorhanden, die für die Platzierung auf der Plattform zu verarbeiten sind.
  • Es ist anzumerken, dass, während das Robotersystem 100 ein Paket aus dem Lagerbereich 705 zur Plattform überträgt, z. B. in den Blöcken 909 und 910, und wenn noch weitere der verfügbaren Pakete 362 auf dem Förderband 110 zu verarbeiten sind, muss das Förderband 110 womöglich gestoppt werden oder die Geschwindigkeit des Förderbands 110 muss womöglich reduziert werden, um der Übertragungseinheit 104 Zeit zu geben, um das Paket aus dem Lagerbereich 705 zur Plattform zu bewegen. Das Förderband 110 kann automatisch stoppen, z. B., wenn das Paket an der Startposition 114 für eine längere Zeit als eine festgelegte Dauer von der Übertragungseinheit 104 nicht aufgenommen wird, oder kann in einigen Ausführungsformen basierend auf Anweisungen, die von einem oder mehreren der Prozessoren 202 erzeugt werden, gestoppt oder verlangsamt werden.
  • 10 ist ein Ablaufdiagramm 1000 eines Prozesses zur Platzierung verfügbarer Pakete an einer Aufgabenposition unter Verwendung eines vorübergehenden Lagerbereichs in Übereinstimmung mit verschiedenen Ausführungsformen. In einigen Ausführungsformen kann der Prozess 1000 in der Umgebung der 1 und 7 und als Teil von Block 680 aus 6 umgesetzt werden. Der Prozess 1000 kann basierend auf dem Ausführen der Anweisungen, die auf einer oder mehreren der Speichervorrichtungen 204 aus 2 gespeichert sind, mit einem oder mehreren der Prozessoren 202 aus 2 umgesetzt werden. Es ist anzumerken, dass einige Einzelheiten in diesem Prozess weggelassen sind, da sie denen, die im Prozess 900 beschrieben sind, ähneln. Bei Block 1001 kann das Robotersystem 100 auf einen Stapelplan für die verfügbaren Pakete 362 zugreifen.
  • Bei Block 1002 kann das Robotersystem 100 einen Plan für das Aufnehmen der verfügbaren Pakete 362 in einer Abfolge, z. B. über das Förderband 110, umsetzen.
  • Bei Block 1003 kann das Robotersystem 100 einen Plan für das Identifizieren der verfügbaren Pakete 362 umsetzen.
  • Bei dem Bestimmungsblock 1004 kann das Robotersystem 100 beim Aufnehmen eines abgetasteten Pakets bestimmen, ob das Paket in der Sequenz für die Platzierung auf der Plattform als nächstes kommt. Das Robotersystem 100 kann die Sequenz-ID des Pakets aus einer Sequenzkarte basierend auf der Paket-ID bestimmen.
  • Wenn das Paket in der Sequenz für die Platzierung auf der Plattform als nächstes kommt, kann das Robotersystem 100 bei Block 1005 einen Plan für das Platzieren des Pakets auf der Plattform gemäß dem Stapelplan umsetzen.
  • Unter erneuter Bezugnahme auf den Bestimmungsblock 1004, wenn das Paket in der Sequenz für die Platzierung auf der Plattform nicht als nächstes kommt, kann das Robotersystem 100 bei Block 1006 einen Plan zum Lagern des Pakets in einem Lagerbereich, z. B. dem Lagerbereich 705, umsetzen.
  • Bei Block 1007 kann das Robotersystem 100 Lagerpositionsinformationen einer Lagerposition im Lagerbereich 705, in dem das Paket gelagert ist, protokollieren.
  • Nachdem das Paket entweder auf der Plattform oder im Lagerbereich 805 platziert wurde, kann das Robotersystem 100 bei dem Bestimmungsblock 1008 bestimmen, ob alle verfügbaren Pakete 362 aufgenommen wurden. Zum Beispiel bestimmt das Robotersystem 100, ob noch weitere Pakete auf dem Förderband 110 vorhanden sind, die weiterhin z. B. für die Platzierung auf der Plattform zu verarbeiten sind. Wenn weitere Pakete aufzunehmen sind, geht der Prozess zu Block 1003 über, in dem das nächste abzutastende Paket verarbeitet wird.
  • Wenn alle verfügbaren Pakete 362 aufgenommen wurden, kann das Robotersystem 100 bei dem Bestimmungsblock 1009 bestimmen, ob Pakete im Lagerbereich 705 gelagert sind. Wenn keine Pakete im Lagerbereich 705 vorhanden sind, kehrt der Prozess 1000 zurück. Wenn weiterhin Pakete im Lagerbereich 705 vorhanden sind, bestimmt das Robotersystem 100 bei Block 1010 das Paket, das in der Sequenz für die Platzierung auf der Plattform als nächstes kommt. Zum Beispiel kann sich das Robotersystem 100 auf den Sequenzzähler beziehen, um die nächste Sequenz-ID des nächsten zu platzierenden Pakets zu bestimmen, und es kann sich auf die Lagerkarte beziehen, um das Paket mit der nächsten Sequenz-ID und die entsprechende Lagerposition im Lagerbereich 705 zu bestimmen.
  • Bei Block 1011 kann das Robotersystem 100 einen Plan für das Entnehmen des identifizierten Pakets von der bestimmten Lagerposition im Lagerbereich 705 umsetzen.
  • Bei Block 1012 kann das Robotersystem 100 einen Plan für das Platzieren des Pakets gemäß dem Stapelplan auf der Plattform umsetzen. Der Prozess der Blöcke 1010 bis 1012 wird durchgeführt, bis alle Pakete im Lagerbereich 705 auf der Plattform platziert sind.
  • 11 ist ein Ablaufdiagramm 1100 eines Prozesses zur Platzierung verfügbarer Pakete an einer Aufgabenposition unter Verwendung eines vorübergehenden Lagerbereichs in Übereinstimmung mit verschiedenen Ausführungsformen. In einigen Ausführungsformen kann der Prozess 1100 in der Umgebung der 1 und 7 und als Teil von Block 680 aus 6 umgesetzt werden. Der Prozess 1100 kann basierend auf dem Ausführen der Anweisungen, die auf einer oder mehreren der Speichervorrichtungen 204 aus 2 gespeichert sind, mit einem oder mehreren der Prozessoren 202 aus 2 umgesetzt werden. Es ist anzumerken, dass einige Einzelheiten in diesem Prozess weggelassen sind, da sie denen, die im Prozess 900 beschrieben sind, ähneln. Bei Block 1101 kann das Robotersystem 100 auf einen Stapelplan für die verfügbaren Pakete 362 zugreifen (z. B. wie zumindest unter Bezugnahme auf 901 aus 9 beschrieben).
  • Bei Block 1102 kann das Robotersystem 100 einen Plan für das Aufnehmen der verfügbaren Pakete 362 in einer Abfolge, z. B. über das Förderband 110, umsetzen.
  • Bei Block 1103 kann das Robotersystem 100 einen Plan für das Identifizieren der verfügbaren Pakete 362 umsetzen.
  • Bei Block 1104 kann das Robotersystem 100 einen Plan für das Lagern des Pakets in einem Lagerbereich, z. B. dem Lagerbereich 705, umsetzen.
  • Bei Block 1105 kann das Robotersystem 100 Lagerpositionsinformationen einer Lagerposition, an der das Paket im Lagerbereich 705 gelagert ist, protokollieren.
  • Bei dem Bestimmungsblock 1106 kann das Robotersystem 100 bestimmen, ob alle verfügbaren Pakete 362 aufgenommen wurden. Zum Beispiel bestimmt das Robotersystem 100, ob noch weitere Pakete auf dem Förderband 110 vorhanden sind, die weiterhin z. B. für die Platzierung im Lagerbereich 705 oder auf der Plattform zu verarbeiten sind. Wenn weitere Pakete aufzunehmen sind, geht der Prozess zu Block 1103 über, in dem das nächste abzutastende Paket verarbeitet wird.
  • Wenn alle verfügbaren Pakete 362 aufgenommen wurden, kann das Robotersystem 100 bei dem Bestimmungsblock 1107 bestimmen, ob Pakete im Lagerbereich 795 gelagert sind. Wenn keine Pakete im Lagerbereich 705 vorhanden sind, kehrt der Prozess 1100 zurück. Wenn weiterhin Pakete im Lagerbereich 705 vorhanden sind, kann das Robotersystem 100 bei Block 1108 das Paket bestimmen, das in der Sequenz für die Platzierung auf der Plattform als nächstes kommt. Zum Beispiel kann sich das Robotersystem 100 auf den Sequenzzähler beziehen, um die nächste Sequenz-ID des nächsten zu platzierenden Pakets zu bestimmen, und kann sich es auf die Lagerkarte beziehen, um das Paket mit der nächsten Sequenz-ID und dessen Lagerposition im Lagerbereich 705 zu bestimmen.
  • Bei Block 1109 kann das Robotersystem 100 einen Plan für das Entnehmen des identifizierten Pakets von der bestimmten Lagerposition im Lagerbereich 705 umsetzen.
  • Bei Block 1110 kann das Robotersystem 100 einen Plan für das Platzieren des Pakets gemäß dem Stapelplan auf der Plattform umsetzen. Der Prozess der Blöcke 1108 bis 1110 wird wiederholt, bis alle Pakete im Lagerbereich 705 auf der Plattform platziert sind.
  • Schlussfolgerung
  • Die vorstehende detaillierte Beschreibung von Beispielen für die offenbarte Technologie erhebt keinerlei Anspruch auf Vollständigkeit und soll die offenbarte Technologie nicht auf die vorstehend erörterte genaue Form begrenzen. Wenngleich konkrete Beispiele für die offenbarte Technologie vorstehend zum Zwecke der Veranschaulichung beschrieben sind, sind verschiedene äquivalente Modifikationen im Geltungsbereich der offenbarten Technologie möglich, wie ein Fachmann auf dem entsprechenden Gebiet erkennt. Beispielsweise können, wenngleich Prozesse oder Blöcke in einer bestimmten Reihenfolge dargestellt sind, alternative Umsetzungen Routinen durchführen, die Schritte aufweisen, oder Systeme verwenden, die Blöcke aufweisen, die durch eine andere Reihenfolge gekennzeichnet sind, und einige Prozesse oder Blöcke können gelöscht, verschoben, hinzugefügt, unterteilt, kombiniert und/oder modifiziert sein, um alternative oder Unterkombinationen bereitzustellen. Jeder dieser Prozesse oder Blöcke kann auf eine Vielzahl von verschiedenen Arten umgesetzt sein. Zudem können, wenngleich Prozesse oder Blöcke manchmal so dargestellt sind, dass sie der Reihe nach ausgeführt werden, diese Prozesse oder Blöcke anstelle dessen parallel durchgeführt oder umgesetzt oder zu anderen Zeitpunkten durchgeführt werden. Zudem sind jedwede konkreten Ziffern, die in der vorliegenden Schrift enthalten sind, lediglich beispielhaften Charakters; alternative Umsetzungen können abweichende Werte oder Bereiche verwenden.
  • Diese und andere Änderungen können vor dem Hintergrund der vorstehenden detaillierten Beschreibung an der offenbarten Technologie vorgenommen werden. Wenngleich die detaillierte Beschreibung bestimmte Beispiele für die offenbarte Technologie beschreibt, sowie die in Betracht gezogene beste Verfahrensweise, kann die offenbarte Technologie auf viele Wege praktiziert werden, egal wie detailliert die vorstehende Beschreibung auch zu sein scheint. Einzelheiten des Systems können sich in der konkreten Umsetzung wesentlich unterscheiden, während diese nach wie vor durch die in der vorliegenden Schrift offenbarte Technologie eingeschlossen sind. Wie vorstehend angemerkt, sollte die zum Beschreiben von bestimmten Merkmalen oder Aspekten der offenbarten Technologie verwendete Terminologie nicht so ausgelegt werden, dass sie impliziert, dass die Terminologie in der vorliegenden Schrift dahingehend neu definiert wird, dass sie auf jedwede konkrete Eigenschaften, Merkmale oder Aspekte der offenbarten Technologie beschränkt ist, mit der diese Terminologie assoziiert ist. Dementsprechend wird die Erfindung ausschließlich durch die beigefügten Patentansprüche beschränkt. Im Allgemeinen sollten die in den nachstehenden Patentansprüchen verwendeten Begriffe nicht so ausgelegt werden, dass sie die offenbarte Technologie auf die in der Patentschrift offenbarten konkreten Beispiele beschränken, sofern der vorstehende Abschnitt Detaillierte Beschreibung derartige Begriffe nicht ausdrücklich definiert.
  • Wenngleich bestimmte Aspekte der Erfindung nachstehend in bestimmten Anspruchsformen dargestellt sind, zieht der Anmelder die verschiedenen Aspekte der Erfindung in einer beliebigen Anzahl von Anspruchsformen in Betracht. Dementsprechend behält sich der Anmelder das Recht vor, zusätzliche Patentansprüche zu verfolgen, nachdem diese Anmeldung eingereicht wurde, um derartige zusätzliche Anspruchsformen zu verfolgen, entweder in dieser Anmeldung oder in einer fortführenden Anmeldung.

Claims (16)

  1. Verfahren zum Betreiben eines Robotersystems (100), wobei das Verfahren Folgendes umfasst: Zugreifen auf einen Stapelplan (502) für das Platzieren von Paketen (362, 372, 452, 454, 532) auf einer Plattform (116), wobei der Stapelplan (502) eine dreidimensionale (3D) Abbildung der Pakete (362, 372, 452, 454, 532) entlang einer horizontalen Ebene der Plattform (116) und in mehreren Schichten auf der Plattform (116) darstellt und wobei der Stapelplan (502) eine Stapelsequenz (530, 720) beinhaltet, in der die Pakete (362, 372, 452, 454, 532) auf der Plattform (116) zu platzieren sind; Umsetzen eines Plans für das Empfangen der Pakete (362, 372, 452, 454, 532) nacheinander in einer Abfolge; iteratives Verarbeiten von jedem Paket (362, 372, 452, 454, 532) in der Abfolge, wobei das Verarbeiten Folgendes beinhaltet: Bestimmen einer Paket-ID eines Pakets, das in der Abfolge als nächstes kommt, Bestimmen einer Sequenz-ID (722) des Pakets unter Verwendung der Paket-ID (721) und des Stapelplans (502); Bestimmen, basierend auf der Sequenz-ID (722), ob das Paket in der Stapelsequenz (530, 720) für die Platzierung (805-819) auf der Plattform (116) als nächstes kommt, als Reaktion auf eine Bestimmung, dass das Paket in der Stapelsequenz (530, 720) für das Platzieren auf der Plattform (116) nicht als nächstes kommt, Umsetzen eines Plans für das Platzieren des Pakets in einem Lagerbereich (705, 795, 805), der sich von der Plattform (116) unterscheidet, und Protokollieren der Paket-ID (721) und einer Lagerposition des Pakets im Lagerbereich (705, 795, 805); und iteratives Verarbeiten von jedem Paket (362, 372, 452, 454, 532) aus einer Paketreihe, die diejenigen der Pakete (362, 372, 452, 454, 532) darstellt, die im Lagerbereich (705, 795, 805) gelagert sind, wobei das Verarbeiten Folgendes beinhaltet: Identifizieren eines ersten Pakets aus der Paketreihe, wobei das erste Paket in der Stapelsequenz (530, 720) für das Platzieren auf der Plattform (116) als nächstes kommt, Umsetzen eines Plans für das Entnehmen des ersten Pakets aus dem Lagerbereich (705, 795, 805) basierend auf den 3D-Informationen der Lagerposition des ersten Pakets; und Umsetzen eines Plans für das Platzieren des ersten Pakets auf der Plattform (116) gemäß dem Stapelplan (502).
  2. Verfahren nach Anspruch 1, wobei das Erhalten der Paket-ID Folgendes beinhaltet: Bestimmen eines Codes, der mit dem Paket (362, 372, 452, 454, 532) assoziiert ist, wenn das Paket (362, 372, 452, 454, 532) eine Abtasteinheit des Robotersystems (100) auf seinem Weg zu einer Ladeeinheit des Robotersystems (100) für die Platzierung (805-819) auf der Plattform (116) passiert, wobei der Code die Paket-ID (721) des Pakets (362, 372, 452, 454, 532) beinhaltet, wobei das Paket (362, 372, 452, 454, 532) in der Abfolge die Abtasteinheit passiert.
  3. Verfahren nach Anspruch 1, wobei das Verarbeiten von jedem Paket (362, 372, 452, 454, 532) in der Abfolge Folgendes beinhaltet: Umsetzen eines Plans für das Platzieren der Paketreihe im Lagerbereich (705, 795, 805) basierend auf einem Platzierungsplan (350).
  4. Verfahren nach Anspruch 3 , wobei das Umsetzen des Plans für das Platzieren der Paketreihe basierend auf dem Platzierungsplan Folgendes beinhaltet: Bestimmen einer Gruppierung von Paketen (362, 372, 452, 454, 532) der Paketreihe für die Platzierung (805-819) im Lagerbereich (705, 795, 805) gemäß Zerbrechlichkeitseinstufungen, Paketgewichtsbereichen, Höhen, Paketarten oder einer Kombination davon für die Pakete (362, 372, 452, 454, 532) der Paketreihe.
  5. Verfahren nach Anspruch 3 , wobei das Umsetzen des Plans für das Platzieren der Paketreihe basierend auf dem Platzierungsplan (350) das Bestimmen der Gruppierung von Paketen (362, 372, 452, 454, 532) der Paketreihe basierend auf einer Konfiguration des Lagerbereichs (705, 795, 805) beinhaltet, wobei die Konfiguration eine oder mehrere Abmessungen des Lagerbereichs (705, 795, 805) beinhaltet, die eine Anzahl an Lagerregalen im Lagerbereich (705, 795, 805), eine Höhe, Breite, Tiefe oder geschätzte Tragfähigkeit von jedem der Lagerregale (710) beinhaltet.
  6. Verfahren nach Anspruch 3 , wobei das Umsetzen des Plans für das Platzieren der Paketreihe im Lagerbereich Folgendes beinhaltet: Umsetzen eines Plans für das Aufbewahren von mindestens einigen Paketen (362, 372, 452, 454,532) der Paketreihe seitlich benachbart zueinander auf einem Lagerregal (710) des Lagerbereichs (705, 795, 805).
  7. Verfahren nach Anspruch 1, wobei das Verarbeiten von jedem Paket (362, 372, 452, 454, 532) in der Abfolge Folgendes beinhaltet: als Reaktion auf eine Bestimmung, dass das Paket in der Stapelsequenz (530, 720) für die Platzierung (805-819) auf der Plattform (116) als nächstes kommt, Umsetzen eines Plans für das Platzieren des Pakets auf der Plattform (116), ohne das Paket zum Lagerbereich(705, 795, 805) zu übertragen.
  8. Verfahren nach Anspruch 7, ferner umfassend: Bestimmen, nachdem das Paket auf der Plattform (116) platziert wurde, ob ein beliebiges Paket aus der Paketreihe im Lagerbereich (705, 795, 805) in der Stapelsequenz (530, 720) für die Platzierung (805-819) auf der Plattform (116) als nächstes kommt, und als Reaktion auf eine Bestimmung, dass ein festgelegtes Paket aus der Paketreihe in der Stapelsequenz (530, 720) als nächstes kommt, Umsetzen eines Plans für das Platzieren des festgelegten Pakets auf der Plattform (116).
  9. Verfahren nach Anspruch 8 , wobei das Umsetzen des Plans für das Platzieren des festgelegten Pakets auf der Plattform Folgendes beinhaltet: Umsetzen eines Plans für das Platzieren des festgelegten Pakets auf der Plattform (116) vor dem Verarbeiten eines nächsten Pakets in der Abfolge.
  10. Verfahren nach Anspruch 8 , wobei das Umsetzen des Plans für das Platzieren des festgelegten Pakets auf der Plattform Folgendes beinhaltet: Umsetzen eines Plans für das Regulieren einer Geschwindigkeit einer Fördereinheit, um das Empfangen eines nächsten Pakets in der Abfolge zu verzögern, wobei die Fördereinheit die Pakete (362, 372, 452, 454, 532) nacheinander für die Platzierung (805-819) auf der Plattform (116) transportiert, wobei die Geschwindigkeit vor dem Platzieren des festgelegten Pakets auf der Plattform (116) reguliert wird.
  11. Verfahren nach Anspruch 1, wobei das Verarbeiten von jedem Paket (362, 372, 452, 454, 532) in der Abfolge Folgendes beinhaltet: Umsetzen eines Plans für die Lagerung von jedem der Pakete (362, 372, 452, 454, 532), die in der Abfolge im Lagerbereich (705, 795, 805) aufgenommen werden, bis alle Pakete (362, 372, 452, 454, 532) in der Abfolge aufgenommen wurden.
  12. Verfahren nach Anspruch 1, wobei das Erzeugen von Anweisungen für das Empfangen der Pakete Folgendes beinhaltet: Umsetzen eines Plans für das Empfangen der Pakete (362, 372, 452, 454, 532) in einer Abfolge, der sich von der Stapelsequenz (530, 720) unterscheidet.
  13. Verfahren nach Anspruch 1, wobei das Umsetzen eines Plans für das Platzieren des ersten Pakets auf der Plattform (116) gemäß dem Stapelplan Folgendes beinhaltet: Erzeugen eines Platzierungsplans (350) basierend auf Paketgruppierungen, wobei der Platzierungsplan (350) eine zweidimensionale (2D) Abbildung der Pakete (362, 372, 452, 454, 532) entlang einer horizontalen Ebene der Plattform (116) darstellt, und Erzeugen des Stapelplans (502) durch Umwandeln der 2D-Abbildung von mehreren Platzierungsplänen (350) in die 3D-Abbildung der Pakete (362, 372, 452, 454, 532), wobei die 3D-Abbildung für die Anordnung der Pakete (362, 372, 452, 454, 532) in den mehreren Schichten auf der Plattform (116) repräsentativ ist, wobei jede Schicht über einer anderen Schicht liegt und einen entsprechenden Platzierungsplan aufweist.
  14. Verfahren nach Anspruch 13 , ferner umfassend: Berechnen der Stapelsequenz (530, 720) basierend auf dem Stapelplan (502), wobei die Stapelsequenz (530, 720) der Identifizierung einer Platzierungsreihenfolge für die Pakete (362, 372, 452, 454, 532) auf der Plattform (116) dient, und Erzeugen einer Anweisung für das Platzieren der Pakete (362, 372, 452, 454, 532) auf der Plattform (116) gemäß der Stapelsequenz (530, 720).
  15. Computerlesbares Speichermedium, das computerlesbare Anweisungen zur Ausführung des Verfahrens nach einem der vorangehenden Ansprüche speichert.
  16. Robotersystem, umfassend: mindestens einen Prozessor (202); und mindestens eine Speichervorrichtung (204), die mit dem mindestens einen Prozessor (202) verbunden ist und auf der vom Prozessor (202) ausführbare Anweisungen zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 14 gespeichert sind.
DE102019130639.6A 2019-05-31 2019-11-13 ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN Active DE102019130639B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/428,843 2019-05-31
US16/428,843 US10696494B1 (en) 2019-05-31 2019-05-31 Robotic system for processing packages arriving out of sequence

Publications (2)

Publication Number Publication Date
DE102019130639A1 DE102019130639A1 (de) 2020-12-03
DE102019130639B4 true DE102019130639B4 (de) 2023-07-06

Family

ID=70166369

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019130639.6A Active DE102019130639B4 (de) 2019-05-31 2019-11-13 ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN

Country Status (5)

Country Link
US (3) US10696494B1 (de)
JP (2) JP6683333B1 (de)
KR (2) KR102400028B1 (de)
CN (1) CN112009811A (de)
DE (1) DE102019130639B4 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
US10618172B1 (en) * 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US11511417B1 (en) * 2020-05-18 2022-11-29 Amazon Technologies, Inc. Conveyance modulation based on fragility ratings
CN112180860B (zh) * 2020-09-24 2022-05-31 深圳市海柔创新科技有限公司 任务处理方法、控制终端、机器人、仓储***及存储介质
US20220297958A1 (en) * 2021-03-18 2022-09-22 Dexterity, Inc. Robotic palletization system with variable conveyor height
US20230002090A1 (en) * 2021-04-12 2023-01-05 Sojo Industries, Inc. Mobile automated modular variety and multi pack production line system and method
CN113255113B (zh) * 2021-05-07 2023-01-31 广东省科学院智能制造研究所 板材码垛的仿真方法、***、终端设备及可读存储介质
WO2022265931A1 (en) * 2021-06-16 2022-12-22 Dexterity, Inc. Simulated box placement for algorithm evaluation and refinement
JP7241374B2 (ja) * 2021-08-10 2023-03-17 株式会社Mujin ロボットによるオブジェクト配置のシステム及び方法
US20240173866A1 (en) * 2022-11-27 2024-05-30 Mujin, Inc. Robotic system with multi-location placement control mechanism

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5501571A (en) 1993-01-21 1996-03-26 International Business Machines Corporation Automated palletizing system
DE102016013497A1 (de) 2015-11-20 2017-05-24 Fanuc Corporation Stauungsmuster-Berechnungsvorrichtung, die Positionen festlegt, an denen Gegenstände zu stapeln sind
DE102017122361A1 (de) 2016-09-29 2018-03-29 Fanuc Corporation Stapelmuster-berechnungsvorrichtung und stapelsystem
DE102018006465A1 (de) 2017-08-23 2019-02-28 Fanuc Corporation Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102018008744A1 (de) 2017-11-14 2019-05-16 Fanuc Corporation Einrichtung zum berechnen eines beladungsmusters und robotersteuereinrichtung

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3586176A (en) 1969-04-09 1971-06-22 George C Devol Palletizing apparatus
US4641271A (en) 1983-11-09 1987-02-03 Hitachi, Ltd. Piling planning method and piling system of cargoes by palletizing robot
JPH062528B2 (ja) * 1984-07-19 1994-01-12 株式会社日立製作所 貨物の自動積付システム
DE3406858A1 (de) 1984-02-25 1985-10-03 OSTMA Maschinenbau GmbH, 5352 Zülpich Verfahren u. vorrichtung zum transportieren von mit riesel- oder fliessfaehigem gut gefuellten flachbeuteln zu einer stapelstelle, insbes. einem verpackungsbehaelter
US4692876A (en) 1984-10-12 1987-09-08 Hitachi, Ltd. Automatic freight stacking system
JPS6219963A (ja) 1985-07-19 1987-01-28 Hitachi Ltd 貨物自動積付装置の異常予報方式
US5079699A (en) 1987-11-27 1992-01-07 Picker International, Inc. Quick three-dimensional display
US5175692A (en) 1989-04-14 1992-12-29 University Of Cincinnati Method and apparatus for palletizing randomly arriving mixed size and content parcels
JPH03158322A (ja) * 1989-11-15 1991-07-08 Mitsubishi Electric Corp パレタイズ装置
JPH03162320A (ja) 1989-11-21 1991-07-12 Mitsubishi Electric Corp パレタイズ装置
JP2508410B2 (ja) 1990-11-30 1996-06-19 三菱電機株式会社 パレタイズ装置
NL9100483A (nl) 1991-03-19 1992-10-16 Nederland Ptt Werkwijze voor het bepalen van vrije deelvlakken op een gedeeltelijk met rechthoekige voorwerpen bedekt vlak alsmede een werkwijze voor het bepalen van vrije ruimten in een gedeeltelijk met voorwerpen in de vorm van een rechthoekig parallelepipedum gevulde ruimte.
JPH07291451A (ja) * 1994-04-25 1995-11-07 Toyota Motor Corp 箱物の段積み方法及びその装置
JPH08118274A (ja) 1994-10-26 1996-05-14 Mitsubishi Electric Corp 産業用ロボット装置
US5908283A (en) 1996-11-26 1999-06-01 United Parcel Service Of Americia, Inc. Method and apparatus for palletizing packages of random size and weight
JPH11116056A (ja) 1997-10-14 1999-04-27 Okura Yusoki Co Ltd 積付パターン生成装置および積付装置
JPH11130263A (ja) 1997-10-27 1999-05-18 Yaskawa Electric Corp 積載パターン作成方法
US6332098B2 (en) * 1998-08-07 2001-12-18 Fedex Corporation Methods for shipping freight
JP3589880B2 (ja) 1998-12-08 2004-11-17 日本政策投資銀行 全自動混載積付方法及びそのシステム
JP4356822B2 (ja) * 2000-04-25 2009-11-04 株式会社イトーキ 搬送装置
US7062093B2 (en) 2000-09-27 2006-06-13 Mvtech Software Gmbh System and method for object recognition
JP2002154616A (ja) 2000-11-20 2002-05-28 Murata Mach Ltd デパレタイズシステム
JP3586639B2 (ja) 2000-11-20 2004-11-10 村田機械株式会社 配送センター
US20030110102A1 (en) 2001-05-29 2003-06-12 Chen-Fu Chien Method for goods arrangement and its system
JP2003104563A (ja) 2001-09-28 2003-04-09 Maki Mfg Co Ltd 入荷設備
JP4036681B2 (ja) 2002-05-22 2008-01-23 ダイハツ工業株式会社 車両走行制御装置および方法
KR100484163B1 (ko) 2002-09-14 2005-04-19 삼성전자주식회사 디지털 화질 개선 방법 및 장치
JP3969334B2 (ja) 2003-04-04 2007-09-05 株式会社ダイフク 物品の積付方法
JP4359108B2 (ja) 2003-09-17 2009-11-04 村田機械株式会社 ピッキング物品積上げ指示システム
DE10352279A1 (de) 2003-11-08 2005-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Handhaben von Objekten
US7266422B1 (en) 2004-04-09 2007-09-04 Fanuc Robotics America, Inc. Automated palletizing cases having mixed sizes and shapes
AU2004201709A1 (en) 2004-04-23 2005-11-10 Foodmach Pty Ltd Materials handling system
US20080030497A1 (en) 2005-12-08 2008-02-07 Yangqiu Hu Three dimensional modeling of objects
JP4687980B2 (ja) * 2006-03-16 2011-05-25 株式会社ダイフク 物品搬送設備
JP2007254078A (ja) * 2006-03-22 2007-10-04 Daifuku Co Ltd 物品積み付け装置
JP4838627B2 (ja) 2006-04-25 2011-12-14 株式会社神戸製鋼所 表面性状に優れた高Si含有鋼板およびその製造方法ならびにその製造用の素材の高Si含有鋼材
US20080131255A1 (en) 2006-11-30 2008-06-05 Transbotics Corporation Palletizing systems and methods
US7773811B2 (en) 2006-12-06 2010-08-10 D & S Consultants, Inc. Method and system for searching a database of graphical data
DE102007001263B4 (de) 2007-01-08 2015-07-23 Kuka Roboter Gmbh Robotersystem zur Beladung von Lademitteln mit Stückguteinheiten
DE102007016727B4 (de) 2007-04-07 2010-06-10 Dematic Gmbh & Co. Kg Verfahren zum mehrlagigen Bestapeln eines Trägers
JP4302160B2 (ja) 2007-09-12 2009-07-22 ファナック株式会社 ロボットによるパレタイジング作業のためのロボットプログラミング装置
CN101145051A (zh) 2007-09-20 2008-03-19 广东韶钢松山股份有限公司 板材生产线堆垛过程自动化控制技术
US8264697B2 (en) 2007-11-27 2012-09-11 Intelligrated Headquarters, Llc Object detection device
DE102009011294B4 (de) 2009-03-02 2020-12-24 Kuka Roboter Gmbh Palletieren von Paketen mittels eines Manipulators
DE102009011296B4 (de) 2009-03-02 2021-11-25 Kuka Roboter Gmbh Beladung eines Lademittels mit Paketen
DE102009011300B4 (de) 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
JP2011022784A (ja) 2009-07-15 2011-02-03 Sony Corp 情報処理装置、ブロック検出方法およびプログラム
JP5402697B2 (ja) 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP5257335B2 (ja) 2009-11-24 2013-08-07 オムロン株式会社 3次元視覚センサにおける計測有効領域の表示方法および3次元視覚センサ
US8447423B2 (en) 2009-11-30 2013-05-21 Exxonmobil Research And Engineering Company Method and apparatus for optimizing a performance index of a bulk product blending and packaging plant
US20130163879A1 (en) 2010-08-30 2013-06-27 Bk-Imaging Ltd. Method and system for extracting three-dimensional information
CN201804260U (zh) 2010-09-01 2011-04-20 江苏天奇物流***工程股份有限公司 座椅托盘堆垛机构的自动控制***
JP2012140139A (ja) 2010-12-28 2012-07-26 Asahi Glass Co Ltd ガラス板梱包容器及び該ガラス板梱包容器を用いた運搬方法
WO2012140770A1 (ja) 2011-04-14 2012-10-18 三菱電機株式会社 ロボット制御装置
WO2013059366A2 (en) 2011-10-17 2013-04-25 Symbotic Llc Pallet building system
US10216865B1 (en) 2012-03-06 2019-02-26 Vecna Robotics, Inc. Monitoring one or more articles on a support surface
US9092698B2 (en) 2012-06-21 2015-07-28 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US9315344B1 (en) 2012-07-20 2016-04-19 Amazon Technologies, Inc. Container stacking configurations
US20140180479A1 (en) 2012-12-20 2014-06-26 Wal-Mart Stores, Inc. Bagging With Robotic Arm
US9233470B1 (en) 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
JP5616478B1 (ja) 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
CN103350908A (zh) 2013-06-13 2013-10-16 周怡 自动包装码垛控制***及码垛***
US9682826B2 (en) * 2013-06-23 2017-06-20 Top Tier, Llc Item infeed apparatus and method for a palletizer system
AU2014315755A1 (en) * 2013-09-03 2016-04-28 Sodium Limited Container handling system and method of operating container handling equipment
US9663309B2 (en) 2013-09-06 2017-05-30 Liquor Control Board Of Ontario (Lcbo) Automated palletization method, system and software
CN103640729B (zh) 2013-11-25 2015-08-26 天津中财型材有限责任公司 一种塑钢异型材自动包装***
US9393693B1 (en) 2014-07-10 2016-07-19 Google Inc. Methods and systems for determining and modeling admissible gripper forces for robotic devices
US9205558B1 (en) 2014-07-16 2015-12-08 Google Inc. Multiple suction cup control
US9272417B2 (en) 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
CN104154878B (zh) 2014-07-29 2016-09-28 暨南大学 一种使用单像素探测器的光学成像方法
US9424470B1 (en) 2014-08-22 2016-08-23 Google Inc. Systems and methods for scale invariant 3D object detection leveraging processor architecture
US9457477B1 (en) 2014-08-25 2016-10-04 Google Inc. Variable stiffness suction gripper
US9507995B2 (en) 2014-08-29 2016-11-29 X Development Llc Combination of stereo and structured-light processing
US9205562B1 (en) * 2014-08-29 2015-12-08 Google Inc. Integration of depth points into a height map
US9866815B2 (en) 2015-01-05 2018-01-09 Qualcomm Incorporated 3D object segmentation
US9688489B1 (en) 2015-03-30 2017-06-27 X Development Llc Modular dock for facilities integration
US9457970B1 (en) 2015-03-30 2016-10-04 Google Inc. Modular cross-docking system
US9694498B2 (en) 2015-03-30 2017-07-04 X Development Llc Imager for detecting visual light and projected patterns
US9715639B2 (en) 2015-06-18 2017-07-25 The Boeing Company Method and apparatus for detecting targets
WO2017018113A1 (ja) 2015-07-29 2017-02-02 株式会社オートネットワーク技術研究所 対象物のハンドリングシミュレーション装置、対象物のハンドリングシミュレーションシステム、対象物のハンドリングをシミュレーションする方法、対象物の製造方法及び対象物のハンドリングシミュレーションプログラム
US9718188B2 (en) 2015-09-21 2017-08-01 Amazon Technologies, Inc. Networked robotic manipulators
US9926138B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Determination of removal strategies
EP3405418B1 (de) 2015-11-30 2021-06-09 Sidel Canada Inc. Verteilfördervorrichtung und förderverfahren
US10124489B2 (en) 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
JP6637346B2 (ja) * 2016-03-14 2020-01-29 日本コンベヤ株式会社 物流システムおよび仮保管システム
JP6378232B2 (ja) 2016-03-17 2018-08-22 ファナック株式会社 複数の種類の物品を積み付けるための積み付けパターン計算装置および積み付け装置
CN105691717A (zh) 2016-03-25 2016-06-22 云南昆船电子设备有限公司 一种机器人抓取散状辅料包装置及寻包方法
US9965730B2 (en) 2016-08-23 2018-05-08 X Development Llc Autonomous condensing of pallets of items in a warehouse
JP6614075B2 (ja) 2016-09-07 2019-12-04 株式会社ダイフク 物品積載設備
WO2018120210A1 (zh) 2016-12-30 2018-07-05 深圳配天智能技术研究院有限公司 确定码垛点位置信息的方法、装置及机器人
JP2018136896A (ja) 2017-02-24 2018-08-30 キヤノン株式会社 情報処理装置、システム、情報処理方法、および物品の製造方法
JP7001354B2 (ja) 2017-03-29 2022-01-19 トーヨーカネツ株式会社 自動物流システム
US10328578B2 (en) 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
US10894676B2 (en) * 2017-07-17 2021-01-19 Symbolic Llc Apparatus and method for building a pallet load
JP7116901B2 (ja) 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6549654B2 (ja) 2017-08-03 2019-07-24 ファナック株式会社 ロボットシステムのシミュレーション装置およびシミュレーション方法
CN207374734U (zh) 2017-09-11 2018-05-18 宁波德克尔运输设备有限公司 一种打包码垛一体化装置
US10713547B2 (en) 2017-10-17 2020-07-14 Kyocera Document Solutions Inc. Systems, processes, interfaces, and computer program products for verification of image content in software development systems
JP6647266B2 (ja) 2017-11-06 2020-02-14 西部電機株式会社 出庫処理システム及び出庫処理方法
US20190193956A1 (en) * 2017-12-21 2019-06-27 Walmart Apollo, Llc System for dynamic pallet-build
JP2019117547A (ja) 2017-12-27 2019-07-18 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
CN108748136A (zh) 2018-04-10 2018-11-06 上海新时达机器人有限公司 机器人码垛程序生成方法、存储介质及示教器
GB201809020D0 (en) * 2018-06-01 2018-07-18 Ocado Innovation Ltd Control device and method for item verification
CN108776879B (zh) 2018-06-04 2022-06-14 江苏楚门机器人科技有限公司 一种基于权重学习的垛形规划方法
CN109359739A (zh) 2018-09-13 2019-02-19 深圳市递四方信息科技有限公司 基于遗传算法的堆叠组合方法、装置、设备和存储介质
CN109132313A (zh) 2018-10-26 2019-01-04 北京旷视科技有限公司 物品移动***、取货机器人、搬运机器人及方法
CN109353833B (zh) 2018-11-27 2021-06-29 深圳市汇川技术股份有限公司 机器人码垛点位生成方法、设备及计算机可读存储器
US10335947B1 (en) 2019-01-18 2019-07-02 Mujin, Inc. Robotic system with piece-loss management mechanism
US10549928B1 (en) 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5501571A (en) 1993-01-21 1996-03-26 International Business Machines Corporation Automated palletizing system
DE102016013497A1 (de) 2015-11-20 2017-05-24 Fanuc Corporation Stauungsmuster-Berechnungsvorrichtung, die Positionen festlegt, an denen Gegenstände zu stapeln sind
DE102017122361A1 (de) 2016-09-29 2018-03-29 Fanuc Corporation Stapelmuster-berechnungsvorrichtung und stapelsystem
DE102018006465A1 (de) 2017-08-23 2019-02-28 Fanuc Corporation Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102018008744A1 (de) 2017-11-14 2019-05-16 Fanuc Corporation Einrichtung zum berechnen eines beladungsmusters und robotersteuereinrichtung

Also Published As

Publication number Publication date
JP6683333B1 (ja) 2020-04-15
US11591168B2 (en) 2023-02-28
US20200377312A1 (en) 2020-12-03
JP2020196612A (ja) 2020-12-10
US20230278811A1 (en) 2023-09-07
US10696494B1 (en) 2020-06-30
DE102019130639A1 (de) 2020-12-03
JP2020196625A (ja) 2020-12-10
KR20220068971A (ko) 2022-05-26
KR102400028B1 (ko) 2022-05-19
JP7429386B2 (ja) 2024-02-08
KR20200138073A (ko) 2020-12-09
CN112009811A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
DE102019130639B4 (de) ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN
DE102019130923B4 (de) Robotersystem für das palettieren von paketen unter verwendung von echtzeit-platzierungssimulation
DE102019130635B4 (de) Ein robotersystem mit packmechanismus
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019130902B4 (de) Ein Robotersytem mit dynamischem Packmechanismus
DE102020127473A1 (de) Robotersystem mit wandbasiertem packmechanismus und verfahren zum betreiben dieses systems
DE112019001507B4 (de) Verfahren und System für ein Warenbestandssystem und nichtflüchtiges computerlesbares Medium
DE112020000009T5 (de) Robotersystem mit Koordinationsmechanismus und Verfahren zum Betreiben dieses Systems
DE102019130048B4 (de) Ein Robotersystem mit Srückverlustverwaltungsmechanismus
DE102020114577B4 (de) Steuerung und steuerverfahren für robotersystem
DE102020112099A1 (de) Ein robotersystem mit einem koordinierten übertragungsmechanismus
CN111498212A (zh) 用于处理失序到达的包裹的机器人***
CN111498214B (zh) 具有打包机制的机器人***

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final