EP4732083A1 - Steuern eines haushaltsroboters - Google Patents
Steuern eines haushaltsrobotersInfo
- Publication number
- EP4732083A1 EP4732083A1 EP24735596.9A EP24735596A EP4732083A1 EP 4732083 A1 EP4732083 A1 EP 4732083A1 EP 24735596 A EP24735596 A EP 24735596A EP 4732083 A1 EP4732083 A1 EP 4732083A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- household
- instruction
- classifier
- robot
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/228—Command input arrangements located on-board unmanned vehicles
- G05D1/2285—Command input arrangements located on-board unmanned vehicles using voice or gesture commands
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/243—Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2107/00—Specific environments of the controlled vehicles
- G05D2107/40—Indoor domestic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/10—Optical signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Radar, Positioning & Navigation (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Aviation & Aerospace Engineering (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Manipulator (AREA)
Abstract
Ein Verfahren (200) zum Steuern eines Haushaltsroboters (110) umfasst Schritte des Erfassens einer sprachlichen Anweisung von einem Benutzer, wobei die Anweisung eine Beschreibung einer Position im Haushalt umfasst; des Bestimmens einer vom Nutzer intendierten Position basierend auf der in der Anweisung umfassten Beschreibung der Position mittels eines Klassifikators (135); wobei der Klassifikator (135) einen ersten Encoder (315) zur Bereitstellung eines ersten Encodings (325) für einen Text und einen zweiten Encoder (320) zur Bereitstellung eines zweiten Encodings (330) für eine Ansicht umfasst; wobei die Encoder (315, 320) darauf trainiert sind, dass erste und zweite Encodings (325, 330), die für einen Text und eine dem Text zugeordnete Ansicht des Haushalts bestimmt werden, einander möglichst ähnlich sind; und des Steuerns des Haushaltsroboters (110) an die bestimmte Position.
Description
Steuern eines Haushaltsroboters
Die vorliegende Erfindung betrifft die Steuerung eines Haushaltsroboters. Insbesondere betrifft die Erfindung die intelligente Steuerung des Haushaltsroboters in Abhängigkeit einer sprachlichen Anweisung eines Benutzers.
Ein Haushaltsroboter ist dazu eingerichtet, eine vorbestimmte Funktion in einem Haushalt zu verrichten. Insbesondere kann der Haushaltsroboter dazu eingerichtet sein, eine Bodenfläche zu bearbeiten und weiter bevorzugt zu reinigen, etwa durch Fegen, Wischen oder Saugen. Zur Steuerung des Haushaltsroboters wird der Haushalt üblicherweise kartografiert und eine vorbestimmte Strategie bezüglich der erstellten Kartendaten gesteuert. In der Regel sind verschiedene Strategien vorbestimmt, um beispielsweise die Art eines Untergrunds zu berücksichtigen, eine für den Haushaltsroboter gefährliche Stelle zu vermeiden oder unterschiedlich beanspruchte Bereiche des Untergrunds zu unterschiedlichen Zeiten oder auf verschiedene Weisen zu bearbeiten.
Um den Haushaltsroboter zu einer spontanen Reinigung an einer vorbestimmten Stelle zu veranlassen, muss der Roboter üblicherweise an diese Stelle transportiert oder manuell dorthin gesteuert werden. Es wurde vorgeschlagen, eine Spracherkennung einzusetzen, um eine sprachliche Anweisung zu erkennen und einen Haushaltsroboter in Abhängigkeit der Anweisung zu steuern.
US 2021/0401255 A1 betrifft einen Roboter, der mittels maschinellen Lernens trainiert werden kann. US 9 983 592 B2 schlägt einen Roboter und ein Steuerverfahren vor.
Allerdings ist ein Repertoire von auf diese Weise verstehbarer Anweisungen beschränkt und die Genauigkeit einer solchen Steuerung ist oft unbefriedigend. Verschiedene Benutzer tendieren dazu, denselben Gegenstand unterschiedlich zu bezeichnen, sodass es auch bei sorgfältiger Auswertung immer wieder Bezeichnungen gibt, die nicht verstanden werden. Beispielsweise kann derselbe Gegenstand als Sofa, Couch, Chaiselongue, Spielwiese, Kanapee, Bettbank, Diwan, Ottomane oder Recamiere bezeichnet werden. Eine andere Bezeichnung, die selten, umgangssprachlich, nur regional üblich oder im übertragenen Sinn verwendet wird, kann auf diese Weise nicht verstanden werden.
Eine der vorliegenden Erfindung zu Grunde liegende Aufgabe besteht in der Bereitstellung einer verbesserten Technik zur Steuerung eines Haushaltsroboters per Sprache. Die Er-
findung löst diese Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
Nach einem ersten Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Steuern eines Haushaltsroboters Schritte des Erfassens einer sprachlichen Anweisung von einem Benutzer, die eine Beschreibung einer Position im Haushalt umfasst; des Bestimmens einer vom Benutzer intendierten Position basierend auf der in der Anweisung umfassten Beschreibung der Position mittels eines Klassifikators; und des Steuerns des Haushaltsroboters an die bestimmte Position. Dabei umfasst der Klassifikator einen ersten Encoder zur Bereitstellung eines ersten Encodings für einen Text und einen zweiten Encoder zur Bereitstellung eines zweiten Encodings für eine Ansicht; wobei die Encoder darauf trainiert sind, dass erste und zweite Encodings, die für einen Text und eine dem Text zugeordnete Ansicht des Haushalts bestimmt werden, einander möglichst ähnlich sind. Die Beschreibung der Position in der Anweisung kann bspw. natürlich-sprachlich formuliert sein.
Für den ersten Encoder kann insbesondere ein BART-Encoder wie er z.B. in "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension" von Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvini- nejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov und Luke Zettlemoyer (siehe https://doi.org/10.48550/arXiv.1910.13461) beschrieben ist, verwendet werden. Für den zweiten Encoder kann bspw. ein VQGAN-Encoder (VQGAN = Vector Quantised Generative Adversarial Network) zum Einsatz kommen, wie er z.B. in “Taming Transformers for High-Resolution Image Synthesis” von Patrick Esser, Robin Rombach und Björn Ommer dargestellt ist (siehe https://doi.org/10.48550/arXiv.2012.09841). Die Offenbarung beider Dokumente sei hiermit per Referenz in die vorliegende Offenbarung eingebunden.
Der Klassifikator ist zunächst dazu eingerichtet, mittels der Encoder ähnliche Texte und Bilder möglichst ähnlich und verschiedene Texte bzw. Bilder möglichst verschieden zu Encodieren. Das Encodieren ist nicht notwendigerweise auf eine vorbestimmte Anzahl von Klassen beschränkt. In einer weiteren Ausführungsform ist der Klassifikator dazu eingerichtet, das Bestimmen eines Encoders nach Art eines Regressionsproblems zu behandeln. So kann ein Encoder gebildet werden, der einen vorbestimmten Bereich einer Ansicht in ein Encoding codiert, sodass das Encoding eine Position im Haushalt beschreibt.
Der Klassifikator kann insbesondere einen Zero-Shot-Klassifikator umfassen, der eine Zuordnung einer Beschreibung bzw. eines darin enthaltenen Begriffs zu einem Bild auch
dann erstellen kann, wenn diese Zuordnung von Trainingsdaten, mit denen der Klassifikator trainiert ist, nicht umfasst ist. Der Klassifikator kann eine Zuordnung Vorhersagen, sodass eine wesentlich bessere Erkennung der Beschreibung erfolgen kann. Die sprachliche Anweisung kann eine freiere oder genauere Beschreibung der Position umfassen. Ein Benutzer kann den Haushaltsroboter verbessert durch eine sprachliche Anweisung steuern. Eine Trefferquote beim Auffinden der gemeinten bzw. intendierten Position durch den Haushaltsroboter kann gegenüber konventionellen Techniken verbessert sein. Dabei kann der Benutzer die Anweisung bzw. die Beschreibung frei formulieren und muss sich weder an einen vorbestimmten Wortschatz noch an eine spezielle maschinenverständliche Semantik halten. Die Position kann gegenüber bekannten Techniken genauer bestimmt werden, sodass der Benutzer eine verbesserte Kontrolle über den Haushaltsroboter erlangen kann. Der Einsatz des Haushaltsroboters kann dadurch auch in einem komplexen oder großen Haushalt ermöglicht sein.
Im Allgemeinen ist ein Encoder dazu eingerichtet, eine Eingabe in einen Vektor zu komprimieren, wobei der Vektor wesentlich weniger Dimensionen als die Eingabe aufweist. Ein Encoder kann einen Autoencoder umfassen. Die Encoder sind bevorzugt als künstliches neuronales Netzwerk realisiert. In einer weiteren Ausführungsform kann ein Encoder als Large Language Model (LLM) gebildet sein, sodass er Encodings auf der Basis von Sprache oder Text erstellen kann.
Die Encodings können jeweils einen Vektor umfassen, wobei die Encoder darauf trainiert sind, ein Vektorprodukt zwischen einander entsprechenden Encodings zu maximieren und ein Vektorprodukt zwischen einander nicht entsprechenden Encodings zu minimieren. Diese Art des Trainings kann auch „contrastive learning“ genannt werden. Eine Ähnlichkeit zwischen zwei Vektoren wird auch Cosinus-Ähnlichkeit genannt und kann es erlauben, ein analoges Maß für die Ähnlichkeit auf der Basis eines Abstands der Vektoren im Raum zu bestimmen.
Bevorzugt sind die Encoder bezüglich Ansichten von Objekten, die üblicherweise in einem Haushalt zu finden sind, trainiert. Der trainierte Klassifizierer kann bereits ein gewisses Maß an „Weltwissen“ haben, auf dessen Basis eine Ortsfindung in einem aktuell vorliegenden Haushalt verbessert erfolgen kann.
Ein solches Objekt kann ein strukturelles Element eines Haushalts umfassen, beispielsweise eine Tür, ein Fenster, eine Treppe, eine Schwelle oder einen Durchgang in ein anderes Zimmer. Das Objekt kann auch ein Möbel umfassen, insbesondere ein Sitzmöbel,
ein Schlafmöbel, ein Arbeitsmöbel, ein Unterhaltungsmöbel oder ein dekoratives Möbel. Ferner kann das Objekt eine Heimtextilie umfassen, beispielsweise einen Teppich, einen Läufer, ein Kissen, ein Tischtuch, einen Vorhang oder einen textilen Wandbehang. Die Heimtextilie kann auch mit dem Möbel kombiniert sein, beispielsweise in Form eines Cordsofas oder eines Stoffsessels.
Ein Text, der einer Ansicht zugeordnet ist, ist bevorzugt auf ein Objekt bezogen, das auf der Ansicht dargestellt ist. Dabei umfasst der Text bevorzugt keine Bezeichnung im Sinn eines beim maschinellen Lernen verwendeten „labels“, sondern ist unstrukturiert. Der Text kann nach Art einer Bildunterschrift oder einer Kurzbeschreibung vorliegen. Der Text kann natürlich-sprachlich sein und zusätzliche Informationen geben, die über die Beschreibung des Objekts hinausgehen. Wird beispielsweise ein Katalog eines Möbelherstellers als Quelle für Lerndaten für den Klassifikator verwendet, so kann ein Text eine mögliche Verwendung, einen Hinweis auf eine vorteilhafte Kombination mit einem anderen Möbel oder eine vorgeschlagene Verwendung umfassen. Über derartige Informationen kann der Klassifikator Verbindungen zwischen Objekten erlernen, die es ihm später erlauben, eine Aussage über eine Text-Bild-Kombination zu treffen, die nicht direkt von den Lerndaten umfasst war.
Durch die Verwendung von freien Beschreibungstexten für die Ansichten kann von einer codeorientierten Verarbeitung zu einer datenorientierten Verarbeitung übergegangen werden, die es erlauben kann, durch Nutzen von Querverbindungen maschinell Schlüsse zu ziehen. Die Erkennung kann, anders als bekannte Spracherkennungsmodelle, am Wissensschatz und/oder der Beschreibungsweise eines Menschen orientiert sein und so eine wesentlich bessere Erkennung leisten.
Mittels des Klassifikators und auf der Basis von Ansichten des Haushalts kann ein auf einer Ansicht dargestelltes Objekt bestimmt werden, deren zweites Encoding einem ersten Encoding der sprachlichen Anweisung möglichst ähnlich ist.
Dem Verfahren kann eine zusammengesetzte umfassende Ansicht des Haushalts vorliegen. Zu Objekten, die auf der Ansicht dargestellt sind, können zweite Encodings bestimmt werden. Eine erfasste sprachliche Anweisung bzw. eine davon umfasste Beschreibung, noch spezieller ein davon umfasster Begriff, kann in ein erstes Encoding umgewandelt werden. Durch Betrachten der Ähnlichkeit zwischen dem ersten Encoding und den zweiten Encodings können Objekte - genauer: Bildinhalte der Ansicht - bestimmt werden, die eine maximale Ähnlichkeit mit der sprachlichen Anweisung haben. Anders ausgedrückt
kann für verschiedene Bereiche der Ansicht bestimmt werden, wie wahrscheinlich es ist, dass darauf ein Objekt dargestellt ist, das durch die Anweisung bzw. die Beschreibung umrissen ist.
Wird ein Objekt gefunden, dessen Ähnlichkeit mit der Beschreibung einen vorbestimmten Schwellenwert übersteigt, so kann eine Position dieses Objekts zur Steuerung des Haushaltsroboters verwendet werden. Werden mehrere Objekte gefunden, deren zweite Encodings mehr als der vorbestimmte Schwellenwert ähnlich zum ersten Encoding ist, so kann das Objekt mit der größten Ähnlichkeit ausgewählt werden, es kann eine Rückfrage an einen Benutzer gestellt werden oder die Objekte können nacheinander zur Steuerung des Haushaltsroboters verwendet werden. Die letztgenannte Möglichkeit kann insbesondere angewandt werden, wenn die Beschreibung eine Vokabel umfasst, die einen All- Quantifikator repräsentiert, beispielsweise „alle“ oder „jedes/jede“. Eine solche Vokabel kann auch mit herkömmlichen Mitteln erkannt werden.
Die beschriebene bzw. vom Benutzer intendierte Position kann auf der Basis einer der bestimmten Ansicht zugeordneten Position bestimmt werden. Bevorzugt ist eine Anzahl Ansichten des Haushalts verfügbar, weiter bevorzugt derart, dass sich die Ansichten teilweise überlappen, sodass eine lückenlose zusammengesetzte Ansicht gebildet werden kann. Für jede Ansicht kann bekannt sein, von welcher Position im Haushait aus die Ansicht angefertigt wurde. Die Position eines Objekts, das auf einer Ansicht dargestellt ist, kann bezüglich einer Position, von der aus die Ansicht angefertigt wurde, bestimmt werden. In einer einfachen Ausführungsform kann als beschriebene Position diejenige bestimmt werden, von der aus die Ansicht angefertigt wurde.
In einer Ausführungsform wird die beschriebene bzw. vom Benutzer intendierte Position auf der Basis einer ortsrelativen Angabe bezüglich eines in der sprachlichen Anweisung erwähnten Objekts bestimmt. Die ortsrelative Angabe kann eine Lokalpräposition wie „vor“, „hinter“, „auf“, „unter“ etc. umfassen. Die Angabe kann in Abhängigkeit einer Ausrichtung aufgelöst werden, wobei üblicherweise eine Ausrichtung von der Position, von der aus die Ansicht angefertigt wurde, auf die Position, an der sich das Objekt befindet, angesetzt wird. So können insbesondere Angaben wie „links von“ oder „rechts von“ korrekt erkannt werden.
Die Angabe kann auf eine Geometrie eines Zimmers bezogen sein, in dem sich das Objekt befindet. Dies kann der Fall sein, wenn das Objekt ein Merkmal oder Element des
Zimmers betrifft, beispielsweise eine Tür oder ein Fenster. Aber auch Angaben wie „in der Mitte“ können so aufgelöst werden.
In einer weiteren Ausführungsform können zusammengesetzte Angaben erkannt werden, die mehrere Positionen umfassen, die in einem bestimmten Zusammenhang stehen. Beispielsweise kann so eine Position „zwischen“ einer ersten und einer zweiten Position beschrieben werden. Auch ein nicht punktförmiger Ort wie eine Laufstraße kann auf diese Weise beschrieben werden.
In einer Ausführungsform umfasst der Klassifikator einen CLIP-Klassifikator (Contrastive Language-Image Pretraining Klassifikator). Ein solcher Klassifikator wurde von OpenAI vorgeschlagen; eine Beschreibung des Ansatzes findet sich in „Learning Transferable Visual Models From Natural Language Supervision“ von Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda As- kell, Pamela Mishkin, Jack Clark, Gretchen Krueger und llya Sutskever, veröffentlicht am 26. Februar 2021. Die gesamte Offenbarung dieses Artikels von Radford et al. wird hiermit in die vorliegende Offenbarung per Referenz aufgenommen. Der in der vorliegenden Offenbarung beschriebene Klassifikator kann mit der angegebenen Vorgehensweise des besagten Artikels von Radford et al. leicht dazu trainiert werden, für die Steuerung eines Haushaltsroboters in einem Haushalt verwendet zu werden. Dazu wird vorgeschlagen, den Klassifikator mit Informationen zu trainieren, die einen üblichen oder anzunehmenden Haushalt betreffen, wie hierin genauer beschrieben ist.
Weiter bevorzugt wird das Haushaltsgerät dazu angesteuert, an der bestimmten Position eine vorbestimmte Funktion des Haushaltsroboters auszuführen. Handelt es sich beim Haushaltsroboter um einen Bodenreinigungsroboter, so kann eine vorbestimmte Reinigungsfunktion ausgeführt werden. Beispielsweise kann die Reinigungsfunktion ein Saugen, ein Wischen, ein Moppen oder ein Kehren umfassen.
In einer Ausführungsform wird die Funktion auf der Basis der Anweisung bestimmt. Dazu kann aus der Anweisung ein Verb bestimmt werden, das in einer Liste vorbestimmter, bekannter Verben enthalten ist. Die Liste kann alle durch den Haushaltsroboter erfüllbaren Funktionen umfassen und relativ kurz sein, wenn der Haushaltsroboter auf eine bestimmte Problemlösung spezialisiert ist wie beispielsweise dem Reinigen einer Bodenfläche.
Es ist zu beachten, dass der Haushaltsroboter auch eine andere Funktion haben kann. Beispielsweise kann der Haushaltsroboter dabei mithelfen, den Haushalt aufzuräumen.
Dazu kann der Roboter einen Gegenstand greifen und/oder manipulieren, insbesondere an einen vorbestimmten Ort bringen. Die Anweisung kann zusätzlich zum Ort auch ein Objekt bezeichnen, das der Roboter manipulieren soll. Außerdem kann die Anweisung weitere Einzelheiten über die Manipulation umfassen, beispielsweise die Art (z. B. Greifen, Bewegen) oder ein Ziel, etwa wohin das Objekt bewegt werden soll.
Die Anweisung kann akustisch erfolgen, sodass ein Benutzer oder allgemein eine Person im Bereich des Haushaltsroboters die Anweisung einfach per gesprochener Sprache bereitstellen kann, wobei die akustische Anweisung in eine textuelle Repräsentation umgewandelt wird. Dazu kann eine bekannte Technik der Sprache-zu-Text (speech to text) Umwandlung verwendet werden. Die Umwandlung kann lokal erfolgen, insbesondere durch das Haushaltsgerät oder durch ein anderes Haushaltsgerät in demselben Haushalt, oder eine erfasste akustische Anweisung kann zur Erkennung bzw. Umwandlung an eine externe Stelle gesandt und ein Ergebnis erfasst werden. Die externe Stelle kann einen Server oder einen Dienst in einer Cloud umfassen. In einigen Ausführungsformen kann ein Schlüsselwort, mit dem eine Anweisung beginnt, lokal erkannt werden und eine restliche Anweisung kann alternativ lokal oder entfernt erkannt werden. Eine Umwandlung von Sprache in Text kann auch verteilt mittels mehrerer Verarbeitungseinrichtungen erfolgen. Dazu können Verarbeitungseinrichtungen mehrerer Haushaltsgeräte genutzt werden, die in dem Haushalt vorhanden sind.
Der Haushaltsroboter kann dazu angesteuert werden, durch den Haushalt zu fahren und Ansichten des Haushalts zu erfassen. Dieser Vorgang kann erfolgen, bevor eine sprachliche Anweisung in der hierin beschriebenen Weise ausgewertet wird. Es ist bevorzugt, dass der Haushaltsroboter den Haushalt wenigstens einmal abfährt und dabei Ansichten erstellt. Wie beschrieben ist bevorzugt, dass die Ansichten einander teilweise überlappen, sodass alle Teile des Haushalts in einer Ansicht erfasst sind. Die Ansichten können auf eine vorbestimmte Perspektive und/oder einen vorbestimmten Abtastwinkel eingeschränkt sein. Beispielsweise kann ein vertikaler Abtastwinkel vorgegeben sein, sodass keine Ansicht eines Objekts, das über oder unter dem Abtastwinkel liegt, angefertigt werden kann. Der Haushaltsroboter kann bereits über eine passende Abtastvorrichtung verfügen, vorzugsweise eine Kamera; alternativ auch einen Radarsensor oder einen LiDAR-Sensor.
Das Anfertigen der Ansichten kann zusammen mit einem Kartografieren des Haushalts erfolgen. Eine Karte des Haushalts kann mittels eines SLAM-Verfahrens (Simultaneous Localization and Mapping; Deutsch Simultane Positionsbestimmung und Kartierung) erstellt oder aktualisiert werden. Werden Informationen für die Kartografierung gesammelt,
so können gleichzeitig Informationen für die Ansichten gesammelt werden. In einer Ausführungsform können dieselben Abtastungen der Kartierung und den Ansichten zu Grunde gelegt werden.
Eine bestehende Abtastung kann regelmäßig aktualisiert werden. Dabei kann nur eine Abtastung neu erstellt werden oder auch mehrere Abtastungen. In einer weiteren Ausführungsform wird eine Ansicht des Haushalts während des Kartografierens oder Bearbeitens des Haushalts erfasst.
Nach einem Aspekt wird ein Verfahren zum Trainieren eines Haushaltsroboters offenbart, das dazu dienen kann, den Haushaltsroboter mittels des hier beschriebenen Verfahrens verbessert steuerbar zu machen. Gemäß diesem Verfahren zum Trainieren wird der Haushaltsroboter so angesteuert, dass dieser durch den Haushalt fährt und Ansichten des Haushalts erfasst. Alle oder ausgewählte erfasste Ansichten werden mithilfe des oben beschriebenen zweiten Encoders in ein zweites Encoding umgewandelt. Beide Encoder (also der erste und zweite Encoder) wurden zuvor mit Bildern und dazugehörigen Bildbeschreibungen in Textform trainiert, sodass die Encodings von Text und Bild (also das erste und zweite Encoding) sehr ähnlich sind, wenn diese das gleiche Objekt beschreiben. Die hierfür benötigen Datenpaare wurden bspw. entweder manuell gelabeled oder mittels Durchstöbern des Internets gesammelt. Der oben genannte Artikel von Radford et al. zum CLIP-Klassifikator setzt insbesondere auf das Durchstöbern des Internets zum Sammeln von Trainingsdaten und bezeichnet das Encoding auch als Embedding. Eine Auswahl der erfassten Ansichten kann bspw. mittels Objekterkennung erfolgen. Wenn es dem Verfahren möglich ist, ein relevantes Objekt zu entdecken, dass noch nicht ausreichend untersucht bzw. verstanden wurde, könnten besonders aussagekräftige Ansichten des Objekts benutzt werden, um sie zum Dazulernen zu verwenden. Bspw. könnte der Haushaltsroboter den Benutzer fragen: „Wenn ich durch das Wohnzimmer fahre, steht da immer so ein großes blaues Ding. Schaue einmal bitte das beigefügte Bild an. Wie nennst du sowas?
Ist das wohl dein Sofa?“ Es kann natürlich auch eine Liste von Beschreibungsvorschlägen dargestellt werden, aus denen der Benutzer dann ein oder mehrere Beschreibungen auswählen kann, z.B. „Sofa, Couch, Tisch, Bett, Bar“. Insbesondere wenn recht unterschiedliche Beschreibungen nicht komplett unwahrscheinlich sind, kann eine Abfrage erfolgen. Es ist auch denkbar, solche Abfragen aufgrund von mitgeteilten Fehlern verstärkt vorzuneh- men.
Mit dem hier beschriebenen Trainingsverfahren kann der Klassifikator weiter verbessert bzw. einem Fine-Tuning unterzogen werden, um die semantische Bedeutung der Bilder verbessert erkennen und verstärkt in die Encodings integrieren zu können. Dies kann insbesondere mit Felddaten (also Ansichten der real existierenden Haushalte beim Endbenutzer) geschehen, die von Haushaltsrobotern aufgenommen werden, die bereits im Einsatz sind. Die zu den Ansichten gehörigen Labels bzw. Textbeschreibungen können dabei entweder durch manuelle Labler erstellt oder durch Feedbackfunktionen von den Roboterbesitzern (also den Benutzern) in der dazugehörigen App erstellt werden. Auf der Basis dieses menschlichen Feedbacks zu den ausgewählten Ansichten werden erste Encodings erstellt. Basierend auf zueinander gehörigen bzw. aufeinander bezogenen ersten und zweiten Encodings kann dann der Klassifikator angepasst werden. Auf diese Weise wird der Klassifikator speziell für den konkreten Einsatzort optimiert, der für seine Region durchaus typisch sein kann. Dazu gehören u.a. die Art der zu erwartenden Daten und die darin abgebildeten Objekte: z.B. die Perspektive (meist von unten), Brennweite, Verzerrung, Rauschpegel, Blickrichtung, die allgemeine Aufnahmequalität der Robotersensoren sowie die zu erwartenden räumlichen Gegebenheiten und die darin zu sehenden Objekte. Natürlich können auf diese Weise auch Klassifikatoren bereitgestellt werden, die für eine gewisse Region optimiert sind. Bspw. wird ein durchschnittlicher Haushalt in China oder im Iran anders aussehen als ein typischer Haushalt in Deutschland. Besonders bevorzugt ist es, dass Paare von Ansichten und von Benutzern eingegebene oder zumindest bestätigte Beschreibungen und/oder die entsprechenden dazugehörigen ersten und zweiten Encodings in einem zentralen Data Lake des Hausgeräteherstellers gesammelt werden, um auf ihrer Basis Klassifikatoren bereitzustellen, die mit einer zunehmenden Anzahl von Haushaltsrobotern im Feld immer besser werden.
Nach einem Aspekt umfasst die Erfindung also ein Verfahren zum Trainieren eines Haushaltsroboters, um ihn mittels des weiter oben beschriebenen Verfahrens verbessert steuerbar zu machen. Das Verfahren zum Trainieren kann z.B. folgende Schritte umfassen:
• Ansteuern des Haushaltsroboters, so dass dieser durch den Haushalt fährt und Ansichten des Haushalts erfasst,
• Bereitstellen eines zweiten Encodings für ausgewählte Ansichten,
• Abfrage von menschlichem Feedback zu den ausgewählten Ansichten,
• Bereitstellen von ersten Encodings basierend auf dem menschlichen Feedback und
• Anpassen des Klassifikators basierend auf den ersten und zweiten Encodings.
Das Auswahlen der Ansichten kann bspw. mittels Objekterkennung und/oder einer Relevanzbestimmung erfolgen. Die Relevanzbestimmung kann z.B. maschinell (bspw. wenn der Klassifikator unsicher ist, worum es sich handelt) und/oder durch Benutzerfeedback vorgenommen werden. Der Klassifikator kann lokal auf dem Haushaltsroboter und/oder zentral beim Hausgerätehersteller angepasst werden. Dafür kann eine Übertragung von gesammelten Datenpaaren von ausgewählten Ansichten und menschlichem Feedback bzw. den dazugehörigen ersten und zweiten Encodings an einen Server oder Cloud- Dienst des Hausgeräteherstellers erfolgen.
In der Inferenzphase kann eine Abfrage bspw. wie folgt abgearbeitet werden. Wenn z.B. durch eine sprachliche Anweisung des Benutzers ein bestimmter Ort oder ein bestimmtes Objekt gesucht wird, wird diese sprachliche Anweisung mithilfe des ersten Encoders in ein erstes Encoding umgewandelt und anschließend (vereinfacht gesprochen) mit allen zuvor aufgenommen Bild-Embeddings, also den zweiten Encodings, verglichen. Dies kann bspw. mittels der weiter unten beschriebenen Matrix erfolgen. Alternativ oder zusätzlich wäre eine Implementierung mittels eines künstlichen neuronalen Netzes und/oder eines Funktionsapproximators denkbar. Das Bild-Embedding, also das zweite Encoding, mit der geringsten Distanz zu dem gesuchten Text-Embedding, also dem ersten Encoding, wird ausgewählt und der dazugehörige Aufnahmeort als Ziel an die Roboter-Navigation weitergegeben.
Nach einem weiteren Aspekt der vorliegenden Erfindung umfasst eine Steuervorrichtung für einen Haushaltsroboter eine Erfassungseinrichtung zum Erfassen einer sprachlichen Anweisung eines Benutzers, wobei die Anweisung eine Beschreibung, insbesondere eine natürlich-sprachliche Beschreibung, einer Position im Haushalt umfasst; einen Klassifikator; und eine Verarbeitungseinrichtung zur Bestimmung einer vom Benutzer intendierten Position basierend auf der in der Anweisung umfassten Beschreibung der Position mittels des Klassifikators; und zur Steuerung des Haushaltsroboters an die bestimmte Position. Dabei umfasst der Klassifikator einen ersten Encoder zur Bereitstellung eines ersten Encodings für einen Text und einen zweiten Encoder zur Bereitstellung eines zweiten Encodings für eine Ansicht; wobei die Encoder darauf trainiert sind, dass erste und zweite Encodings, die für einen Text und eine dem Text zugeordnete Ansicht des Haushalts bestimmt werden, einander möglichst ähnlich sind.
Der Klassifikator kann von der Verarbeitungseinrichtung gebildet oder umfasst sein. Die Verarbeitungseinrichtung ist bevorzugt dazu eingerichtet, ein hierin beschriebenes Verfahren teilweise oder vollständig auszuführen. Dazu kann die Verarbeitungseinrichtung elekt-
ronisch ausgeführt sein und beispielsweise einen integrierten Schaltkreis, einen programmierbaren Logikbaustein oder einen programmierbaren Mikrocomputer umfassen. Das Verfahren kann in Form einer Konfiguration oder als Computerprogrammprodukt mit Programmcodemitteln für die Verarbeitungseinrichtung realisiert sein. Die Konfiguration oder das Computerprogrammprodukt kann auf einem computerlesbaren Datenträger abgespeichert sein. Merkmale oder Vorteile des Verfahrens können auf die Vorrichtung übertragen werden und/oder umgekehrt. Zusätzlich sei darauf hingewiesen, dass sich einige Verfahrensschritte auf die Inferenzphase und andere auf die Trainingsphase beziehen. Auch diese Schritte können frei miteinander kombiniert werden, da ein kontinuierlicher Verbesserungsprozess stattfinden kann, bei dem z.B. im Vorfeld ein Pre-Training stattfindet und der Klassifikator durch Erfahrungen aus dem Feld weiter verbessert wird. Somit können Merkmale und Vorteile des Trainingsverfahrens auf das Inferenzverfahren übertragen werden und/oder umgekehrt.
Ein Haushaltsroboter umfasst eine hierin beschriebene Steuervorrichtung. Der Haushaltsroboter kann dazu eingerichtet sein, eine vorbestimmte Aufgabe in einem Haushalt auszuführen, beispielsweise ein Reinigen oder Aufräumen. Dabei kann sich der Haushaltsroboter durch den Haushalt bewegen. In einer bevorzugten Ausführungsform umfasst der Haushaltsroboter einen Bodenreinigungsroboter, der dazu eingerichtet ist, eine Bodenfläche zu bearbeiten. Bevorzugt umfasst der Bodenreinigungsroboter eine Kamera zur optischen Abtastung eines Umfelds und ein Mikrofon zur Erfassung einer akustischen sprachlichen Anweisung.
Nicht beschränkende Ausführungsformen der Erfindung werden nun unter Bezug auf die beiliegenden Figuren genauer beschrieben, in denen:
Figur 1 ein System;
Figur 2 ein Ablaufdiagramm eines Verfahrens;
Figur 3 das Vortrainieren eines beispielhaften Klassifikators; und Figur 4 das Bestimmen einer Position mittels eines Klassifikators darstellt.
Figur 1 zeigt ein beispielhaftes System 100. In einem Haushalt 105 befinden sich ein Haushaltsroboter 110 und ein Objekt 115. Ein Benutzer 120 des Haushaltsroboters 105 ist üblicherweise ebenfalls im Haushalt 105 anwesend. Der Haushaltsroboter 105 umfasst eine Steuervorrichtung 125, die dazu eingerichtet ist, eine sprachliche Anweisung des
Benutzers 120 zu erfassen, der Anweisung eine Beschreibung einer Position zu entnehmen, wobei die Position auf das Objekt 115 bezogen sein kann, die Position im Haushalt 105 aufzufinden, den Haushaltsroboter 105 an die Position zu steuern und dort eine vorbestimmte Funktion des Haushaltsroboters 105 zu steuern.
Die Steuervorrichtung 125 umfasst eine Verarbeitungseinrichtung 130 und einen Klassifikator 135, der auch Teil der Verarbeitungseinrichtung 130 sein oder durch die Verarbeitungseinrichtung 130 gebildet sein kann. Ferner sind eine bevorzugt optische Abtasteinrichtung 140 und eine akustische Abtasteinrichtung 145 vorgesehen.
Die optische Abtasteinrichtung 140 umfasst bevorzugt eine Kamera, besonders bevorzugt eine Farbkamera. Die Kamera 140 kann Bilder in einem für Menschen sichtbaren Farbspektrum oder in einem anderen, insbesondere demgegenüber erweiterten Farbspektrum erfassen. Optional kann die Kamera 140 auch Tiefeninformationen bereitstellen, beispielsweise wenn es sich um eine Tiefenkamera, eine Stereo-Kamera, eine ToF-Kamera oder eine Kombination aus einer optischen Kamera und einem LiDAR-Sensor handelt. Eine Optik der Kamera 140 hat vorbestimmte Eigenschaften wie eine Brennweite oder einen Öffnungswinkel eines Abtastbereichs. Die Kamera 140 ist in der Regel unbeweglich am Haushaltsroboters 110 angebracht. In anderen Ausführungsformen kann die Kamera 140 horizontal und/oder vertikal schwenkbar sein oder eine Brennweite der Kamera 140 kann steuerbar sein.
Die akustische Abtasteinrichtung 145 umfasst bevorzugt ein Mikrofon 145 oder eine Anordnung mehrerer Mikrofone. Das Mikrofon 145 ist dazu eingerichtet, eine akustische Anordnung im Bereich des Haushaltsroboters 110 zu erfassen, die üblicherweise vom Benutzer 120 geäußert wurde. Der Benutzer 120 kann sich auch außerhalb des Haushalts 105 befinden; in diesem Fall kann seine Stimme beispielsweise telefonisch oder über ein Kommunikationsnetzwerk an den Haushaltsroboter 105 übermittelt werden. Beispielsweise kann die Erfassung der sprachlichen Anordnung des Benutzers 120 an einer Basisstation des Haushaltsroboters 110 oder an einem Kommunikationsgerät beim Benutzer 120, beispielsweise einem Smartphone, erfolgen. Die sprachliche Äußerung kann an den Haushaltsroboter 110 übertragen werden, bevorzugt auf drahtlosem Weg.
Die Verarbeitungseinrichtung 130 kann mit einem lokalen Speicher 150 verbunden sein, der zur Ablage grafischer Informationen eingerichtet ist. Insbesondere können im lokalen Speicher 150 eine oder mehrere Ansichten des Haushalts 105, die mittels der Kamera 140 erfasst sind, abgelegt sein. Die Ansichten können dabei in uncodierter oder codierter
Form vorliegen. Mittels einer Schnittstelle 155 kann auf eine Antriebseinrichtung zugegriffen werden, die dazu eingerichtet ist, den Haushaltsroboter 110 im Haushalt zu bewegen. Dazu umfasst der Haushaltsroboter 110 üblicherweise wenigstens ein Antriebsrad, das auf einem Untergrund abrollen kann. Eine optionale drahtlose Kommunikationseinrichtung 160 kann dazu eingerichtet sein, mit einem zur Spracheingabe nutzbaren Gerät zu kommunizieren.
Eine zum Haushaltsroboter 110 externe Stelle 165 liegt üblicherweise außerhalb des Haushalts 105 und ist dazu eingerichtet, eine vorbestimmte Datenverarbeitung durchzuführen. In einer Ausführungsform kann die externe Stelle 165 eine Text-zu-Sprache Umwandlung durchführen. Dazu kann eine akustische Anweisung an die externe Stelle 165 übermittelt werden; die externe Stelle 165 kann mittels Spracherkennung einen geschriebenen Text erstellen, der den gesprochenen Text repräsentiert; und der geschriebene Text kann an den Haushaltsroboter 105 übermittelt werden.
Es ist zu beachten, dass die akustische Anweisung auch von einem anderen Gerät als dem Haushaltsroboter 105 aus an die externe Stelle 165 geschickt werden kann. Beispielsweise kann der Benutzer 120 ein Mobilgerät (Smartphone) zur Erfassung von Sprache verwenden und akustische Daten der erfassten Sprache können von dort auch direkt an die externe Stelle 165 übermittelt werden. In noch einer weiteren Ausführungsform kann die Umwandlung der akustischen in textuelle Daten im Mobilgerät erfolgen. In diesem Fall kann das Mobilgerät die Funktion der externen Stelle 165 einnehmen.
Eine weitere Funktion, die zur Erstellung oder Nutzung des Systems 100 ausgeführt werden muss, kann ebenfalls in einer zum Haushaltsroboter 110 externen Stelle 165 erfolgen. Dabei kann es sich um dieselbe oder eine andere externe Stelle 165 handeln als diejenige, die eine Text-zu-Sprache Umwandlung durchführt. Beispielsweise kann ein Training oder Vortraining des Klassifikators 135 seitens einer externen Stelle 165 erfolgen. Der Klassifikator 135 umfasst bevorzugt ein künstliches neuronales Netzwerk (KNN) und ist mittels Contrastive Learning darauf trainiert, auf der Basis von sprachlichen Eingangsdaten in einer Ansicht des Haushalts 105 einen Abschnitt zu bestimmen, an der sich mit möglichst hoher Wahrscheinlichkeit ein Objekt 115 befindet, das in den sprachlichen Eingangsdaten referenziert ist. Die Funktion des Klassifikators 135 ist hierin beispielsweise mit Bezug auf Figuren 3 und 4 noch genauer beschrieben.
Figur 2 zeigt ein Ablaufdiagramm eines Verfahrens 200 zur Steuerung eines Haushaltsroboters 110. Das Verfahren 200 kann mittels eines Systems 100 ausgeführt werden. Opti-
onal kann ein Teil des Verfahrens 200 von einer externen Stelle 165 ausgeführt werden. Ein solcher Teil kann insbesondere eine vorbereitende Verarbeitung betreffen, um einen Klassifikator 135 zu erstellen bzw. zu trainieren. Es ist zu beachten, dass das Erstellen eines Klassifikators 135 aufwändig sein kann, ein erstellter Klassifikator 135 jedoch leicht innerhalb einer Vielzahl Steuervorrichtungen 125 eingesetzt werden kann.
In einem Schritt 205 können Bilder mit Texten bereitgestellt werden. Ein Bild zeigt dabei bevorzugt ein Objekt 115, das typischerweise in einem Haushalt 105 anzutreffen ist. Ein beispielhaftes Objekt 115 umfasst ein strukturelles Element eines üblichen Haushalts 105, also praktisch eine bauliche Gegebenheit, die den Haushalt 105 physisch determiniert, etwa eine Wand, ein Fenster oder eine Tür. Das Objekt 115 kann auch beispielsweise ein Möbel umfassen, beispielsweise einen Sessel, ein Sofa, einen Stuhl, einen Schrank oder einen Tisch. Ferner kann das Objekt 115 eine Heimtextilie umfassen, beispielsweise einen Teppich, einen Bodenbelag, ein Kissen oder einen Vorhang.
Ein Text, der einem Bild zugeordnet ist, hat üblicherweise kein festes Format. Der Text kann ein Objekt 115, das auf einem Bild dargestellt ist, benennen oder beschreiben. Der Text kann eine zusätzliche Information zu dem Objekt 115 umfassen, beispielsweise eine Erläuterung eines nicht sichtbaren Teils oder Merkmals, eine mögliche Verwendung, eine Kategorisierung oder einen Verweis auf ein anderes Objekt 115. Der Text kann das Bild bzw. das Objekt 115 beispielsweise nach Art einer Bildunterschrift in einem Fotoalbum oder einer Erläuterung in einem Katalog oder Nachschlagewerk beschreiben. Es ist allgemein bevorzugt, dass die Texte eine vorbestimmte Länge nicht übersteigen, beispielsweise ca. zehn Wörter oder ca. 200 Zeichen.
In einem Schritt 215 können die Bilder und Texte als Trainingsmaterial für einen Klassifikator 135 verwendet werden. Der Klassifikator 135 kann mittels kontrastbildenden Lernens erstellt werden, sodass er einander ähnliche Texte bzw. Begriffe derselben Klasse und verschiedene Texte bzw. Begriffe verschiedenen Klassen zuordnet. Dabei kann einem Text oder Begriff ein erstes Encoding zugeordnet werden, wobei inhaltlich ähnliche Texte bzw. Begriffe möglichst ähnliche erste Encodings und verschiedene Texte bzw. Begriffe möglichst verschiedene erste Encodings erhalten. In derselben Weise können unterschiedlichen Bildern jeweils zweite Encodings zugeordnet werden, wobei wieder ähnliche Bilder bzw. Bilder ähnlicher Objekte 115 möglichst ähnliche zweite Encodings und unterschiedliche Bilder bzw. Bilder verschiedener Objekte 115 möglichst verschiedene zweite Encodings erhalten.
Dabei werden ein erster Encoder, der die ersten Encodings erstellt, und ein zweiter Encoder, der die zweiten Encodings erstellt, derart trainiert, dass für ein Bild von einem Objekt 115, dem ein Text oder Begriff zugeordnet ist, das erste Encoding dem zweiten möglichst nahe kommt. Für einander nicht zugeordnete Paare von Bildern und Texten sind die ersten und zweiten Encodings hingegen möglichst verschieden. Diese Art des Erstellens der Encoder wird auch kontrastbildendes Lernen genannt.
In einem Schritt 215 kann auf der Basis der Encoder ein Klassifikator 135 bereitgestellt werden. Der Klassifikator 135 ist dazu eingerichtet, einen Abstand zwischen einem ersten Encoding und einem zweiten Encoding zu bestimmen, wobei der Abstand eine Ähnlichkeit repräsentiert.
Die Schritte 205 bis 215 können einmalig durchlaufen werden, um einen Klassifikator 135 zu erstellen, der in der Folge beliebig oft und in beliebig vielen Umgebungen eingesetzt werden kann.
In einem Schritt 220 kann der Haushaltsroboter 110 dazu angesteuert werden, einen Haushalt 105, in welchem er im Folgenden eingesetzt werden soll, abzufahren. Dazu kann sich der Haushaltsroboter 110 im Haushalt 105 möglichst derart bewegen, dass Begrenzungen des Haushalts 105 an allen Seiten erfasst werden können. Im Bereich der Begrenzungen und innerhalb des Haushalts 105 können Bilder erstellt werden, beispielsweise mittels der Kamera 140. Zu einem Bild kann festgehalten werden, an welcher Position es erfasst wurde und in welcher Ausrichtung sich der Haushaltsroboter 110 bei der Abtastung des Bilds befand. Diese Informationen können es später ermöglichen, die Position eines Objekts 115, das auf einem Bild dargestellt ist, im Haushalt 105 zu bestimmen. Eine solche Bestimmung kann Tiefeninformationen auswerten, die von dem Bild umfasst sind.
In einem Schritt 225 können auf der Basis eines oder mehrerer Bilder eine oder mehrere Ansichten des Haushalts angefertigt werden. Eine Ansicht kann auf mehreren Bildern basieren und so einen größeren Bereich abdecken als mit einem Bild alleine möglich wäre. Beispielsweise kann eine Ansicht ein Zimmer optisch abdecken, wobei die Ansicht optische Informationen umfassen kann, die nach Art einer Panoramaaufnahme aus einem großen horizontalen Winkelbereich stammen können, im Extremfall aus einem Vollkreis von 360°. Eine Ansicht muss nicht längen- oder winkeltreu sein, sollte aber die Bestimmung der Position eines dargestellten Objekts 115 aus seiner Lage auf der Abbildung erlauben. Optional können in einem Schritt 230 mehrere Ansichten kombiniert werden, um
eine kombinierte Ansicht bereitzustellen. Eine solche kombinierte Ansicht kann es erleichtern, ein Objekt 115 im Haushalt 105 aufzufinden.
Die Schritte 220 bis 230 können in einem konkreten Haushalt 105 durchlaufen werden, um möglichst voll umfängliche Abbildungen des Haushalts 105 bereitzustellen, auf denen ein Objekt 115 gefunden werden kann, das Teil einer verbalen Beschreibung einer Position sein kann. Da üblicherweise nicht alle Objekte 115 im Haushalt 105 unverrückbar sind, können die Schritte 220 bis 230 in regelmäßigen Abständen wiederholt werden, um aktualisierte Ansichten bereitzustellen. Optional kann eine Ansicht auch partiell aktualisiert werden, indem es mit Informationen eines aktuellen Bilds kombiniert wird. Es ist zu beachten, dass Abtastungen des Haushalts 105 auch aus einer anderen Quelle stammen können. Beispielsweise kann der Benutzer 120 den Haushalt 105 auch mit einer separaten Kamera abtasten oder die Abtastung kann mittels eines ersten Haushaltsroboters 110 durchgeführt und einem zweiten Haushaltsroboter 110 zur Verfügung gestellt werden.
In einer weiteren Ausführungsform kann ausgenutzt werden, dass der Haushaltsroboter 110 mit einem anderen Haushaltsgerät im Haushalt 105 vernetzt ist. Eine Erfassung oder Meldung des anderen Haushaltsgeräts kann dann verwendet werden, um weitere Informationen bezüglich des Haushalts 105 zu bestimmen. Meldet beispielsweise eine Spülmaschine, dass sie ausgeräumt wird, so kann dem Haushaltsroboter 105 bekannt sein, wo die Spülmaschine ist, und dass davor Fliesen verlegt sind. Somit kann der Haushaltsroboter 105 den bestimmten Ort automatisch ansteuern und beispielsweise davor wischen.
Nach dem Vortrainieren des Klassifikators 135 und dem Bereitstellen von Abtastungen des Haushalts 105 kann eine Steuerung des Haushaltsroboters 105 auf der Basis einer verbalen Positionsangabe erfolgen.
In einem Schritt 235 kann eine sprachliche Anweisung an den Haushaltsroboter 105 erfasst werden. Die Anweisung kann ein Schlüsselwort, gefolgt von einer Beschreibung einer Position im Haushalt sowie optional einem Hinweis auf eine dort auszuführende Tätigkeit umfassen. Beispielsweise kann die Anweisung lauten: „Robi, sauge vor dem blauen Sofa“.
Das Schlüsselwort („Robi“) kann lokal ausgewertet werden und dazu dienen, eine Spra- che-in-Text Umwandlung eines folgenden Texts auszulösen. In einem Schritt 240 kann diese Umwandlung erfolgen. Die Umwandlung kann lokal seitens der Steuervorrichtung
125 oder seitens der externen Stelle 165 durchgeführt werden. Das Ergebnis der Umwandlung sollte dann am Haushaltsroboter 110 vorliegen.
In einem Schritt 245 kann die Anweisung - auf der Basis ihrer textuellen Repräsentation - analysiert werden. Dazu kann die Anweisung in Bestandteile zerlegt werden und Bestimmte Worte können direkt erkannt werden. Beispielsweise kann im vorliegenden Beispiel bestimmt werden, dass der Teil bezüglich des „blauen Sofa“ ein Objekt betrifft, das zur Positionsfindung genutzt werden kann. Ebenso kann die Lokalpräposition „vor“ erkannt werden.
In einem Schritt 250 können eines oder mehrere Wörter direkt erkannt werden, die eine Position näher beschreiben oder eine Referenz auf eine andere Position betreffen. Dazu kann eine Liste vorbestimmter Lokalpräpositionen vorliegen, mit denen Wörter der textuellen Beschreibung verglichen wird. In entsprechender Weise kann ein Verb bestimmt werden, das eine an dem beschriebenen Ort durch den Haushaltsroboter 110 auszuführende Tätigkeit betreffen kann. Im vorliegenden Beispiel richtet sich der Hinweis „sauge“ beispielhaft an einen Bodenreinigungsroboter 110 mit einem Saugwerk. In einem Schritt 255 kann eine Beschreibung eines Objekts 115 aus der Anweisung extrahiert werden. Im gegebenen Beispiel betrifft die Beschreibung ein blaues Sofa 115.
In einem Schritt 260 kann bezüglich der Positionsbeschreibung, auf der Basis der Abtastungen und mittels des trainierten Klassifikators 135 die Position des Objekts 115 auf einer Ansicht bestimmt werden. Dazu kann für eine Vielzahl Darstellungen auf einer oder mehreren Ansichten jeweils bestimmt werden, wie ähnlich die Darstellung zu der Ortsbeschreibung ist. Die Ähnlichkeit kann nach Art eines Abstands bestimmt werden, genauer gesagt nach Art eines Vektorprodukts zwischen zwei Vektoren, die ein erstes Encoding der Ortsbeschreibung und ein zweites Encoding der Darstellung umfassen.
In einer grafischen Veranschaulichung kann eine Ansicht des Haushalts 105 in Falschfarben dargestellt werden, wobei die Farbe jedes Bildpunkts eine Ähnlichkeit der Darstellung in seinem Bereich mit der Beschreibung repräsentiert. So kann ein Bereich der Ansicht bestimmt werden, in welchem eine vorbestimmte räumliche Häufung von Ähnlichkeiten über einem vorbestimmten Schwellenwert vorliegt.
In einem Schritt 265 kann die beschriebene bzw. vom Benutzer intendierte Position bestimmt werden. Dazu kann auf der Basis der Ansicht zunächst eine Position eines im Bereich der Häufung dargestellten Objekts 115 bestimmt werden. Beispielsweise bezüglich
einer Position und/oder Ausrichtung, die der Haushaltsroboter 110 beim Abtasten eines Bilds für die Ansicht einnahm, kann dann eine Position des Objekts 115 im Haushalt 105 bestimmt werden. Optional kann die beschriebene Position bezüglich der Position des Objekts 115 auf der Basis einer von der Beschreibung umfassten Lokalpräposition genauer bestimmt werden.
Im gewählten Beispiel könnte also zunächst eine Position des „blauen Sofas“ 115 im Haushalt bestimmt werden. Unter Annahme eines vorbestimmten Richtungssystems kann dann eine Position oder ein Bereich im Haushalt 105 bestimmt werden, der „vor“ dem Objekt 115 liegt. Das Richtungssystem kann auf einer aktuellen Position und/oder Ausrichtung des Benutzers 120 oder des Haushaltsroboters 110 basieren. Es kann auch ein Richtungssystem vorbestimmt sein, beispielsweise bezüglich einer Himmelsrichtung oder einer vorbestimmten Richtung und/oder Position im Haushalt 105.
In einem Schritt 270 kann die durch den Haushaltsroboter 105 auszuführende Funktion bestimmt werden. Diese Bestimmung kann auf der Basis eines im Schritt 250 erkannten Verbs in der Anweisung erfolgen. Ist der Haushaltsroboter 105 nur zur Verrichtung einer einzigen Funktion eingerichtet, so kann diese Funktion in jedem Fall angenommen werden. Es kann es auch ausreichen, den Haushaltsroboter 105 an die bestimmte Position zu steuern, beispielsweise um dort eine weitere Anweisung zu erwarten.
Optional kann ein erkanntes Element der Anweisung dem Benutzer 120 bereitgestellt werden, um sicher zu stellen, dass die Anweisung korrekt verarbeitet wurde. Wurden auf der Basis der Anweisung mehr als eine Position bestimmt, so kann der Benutzer 120 gebeten werden, eine oder mehrere der Positionen auszuwählen. Das Verfahren 200 kann fortgeführt werden, wenn der Benutzer 120 das oder die erkannten Elemente bestätigt hat.
In einem Schritt 275 kann der Haushaltsroboter 110 an die bestimmte Position gesteuert werden. Diese Steuerung kann auf der Basis einer Umgebungskarte des Haushalts 105 erfolgen, die seitens der Steuervorrichtung 125 vorliegen kann. Optional kann die Bewegung des Haushaltsroboters 110 ausgenutzt werden, um ein Bild des Haushalts 105 zu erfassen, das zur Aktualisierung oder Generierung einer Ansicht verwendet werden kann. In einem Schritt 280 kann der Haushaltsroboter 110 dazu angesteuert werden, die im Schritt 270 bestimmte Funktion auszuführen, wenn er die bestimmte Position erreicht hat.
Figur 3 zeigt eine Illustration eines Vortrainierens eines beispielhaften Klassifikators 135 (vgl. Schritte 210, 215 des Verfahrens 200 in Figur 2). Trainingsdaten umfassen eine Vielzahl Texte 305 und eine Vielzahl Bilder 310, wobei jeweils ein Text 305 bijektiv einem Bild 310 zugeordnet ist. Ein erster Encoder 315 erstellt erste Encodings 325 (T_i) für die Texte 305 und ein zweiter Encoder 320 zweite Encodings 330 (l_i) für die Bilder 310. Jedes Encoding 325, 330 umfasst einen Vektor, sodass durch Bilden eines Vektorprodukts eine Ähnlichkeit bzw. ein Abstand zwischen den Vektoren bzw. Encodings 325, 330 bestimmt werden kann. Eine solche Metrik ist als Cosinus-Ähnlichkeit (cosine similarity) bekannt.
Das Vortrainieren erfolgt als kontrastbildendes Lernen, bei dem die Encoder 315, 320 sukzessive so verändert werden, dass sie Encodings 325, 330 hervorbringen, die vorbestimmte Bedingungen erfüllen. Genauer gesagt werden die Encoder 315, 320 bevorzugt als KNN bestimmt, wobei ein Lernziel bei der Verarbeitung der Texte 305 und Bilder 310 darin besteht, erste Encodings 325 und zweite Encodings 330 zu bestimmen, die einander möglichst ähnlich sind, wenn ein Text 305 einem Bild 310 zugeordnet ist, und ansonsten möglichst verschieden.
Die zwischen den entstehenden ersten Encodings 325 (T_1 ... T_N) und zweiten Encodings 330 (l_1 ... I_N) zu bestimmenden Abstände (l_i • T_i) sind in Figur 3 in einer Matrix 335 dargestellt. Die Hauptdiagonale der Matrix 335 umfasst Kombinationen von ersten und zweiten Encodings 325, 330, die einander zugeordnet sind, die restlichen Elemente umfassen Kombinationen, die nicht auf eine Zuordnung der Ausgangsdaten 305, 310 zurückzuführen sind. Das Vortrainieren kann als abgeschlossen gelten, wenn das beschriebene Lernziel ausreichend gut erreicht ist. Es ist zu beachten, dass das Vortrainieren eine große Anzahl Texte 305 und zugeordnete Bilder 310 umfassen kann und dass die Texte 305 und Bilder 310 üblicherweise sehr oft codiert werden müssen, bis die Encoder 315 und 320 die geforderten Eigenschaften aufweisen. Die Encoder 315 und 320 können zusammen einen Klassifikator 135 bilden.
Figur 4 zeigt das Bestimmen eines Texts 305 zu einem Bild 310 mittels eines Klassifikators 135, der einen ersten Encoder 315 und einen zweiten Encoder 320 umfasst. Eine umgekehrte Vorgehensweise kann zur Bestimmung eines Objekts 115 zu einer Beschreibung verfolgt werden.
Zum Bild 310 wird ein zweites Encoding 330 erstellt, das dann mit allen bekannten ersten Encodings 325 der Texte der Trainingsdaten verglichen wird. Das Vergleichen umfasst wieder das Bilden eines Vektorprodukts und entspricht dem Bestimmen eines Abstands
zwischen den Encodings 325, 330. Aufgrund der Art und Weise, wie die Encoder 315 und 320 erstellt sind, kann daraus auf Ähnlichkeiten zwischen dem auf dem Bild 310 dargestellten Inhalt und Inhalten der Beschreibungen 305 geschlossen werden. Je geringer der Abstand zwischen zwei Encodings 325, 330 ist, desto größer kann eine Ähnlichkeit bzw. eine Entsprechung zwischen jeweils zugeordneten Inhalten sein.
Unter den gebildeten Vektorprodukten (l_i • T_i) kann das kleinste bestimmt werden. Optional kann geprüft werden, ob das Vektorprodukt unter einem vorbestimmten Schwellenwert liegt bzw. dass die Ähnlichkeit der umfassten ersten und zweiten Encodings 325, 330 über einem entsprechenden Schwellenwert liegt. Derjenige Text 305, der dem ersten Encoding 325 zugeordnet ist, kann als der wahrscheinlichste Text 305 bestimmt werden, der dem Bild 310 zugeordnet werden kann.
Bezugszeichen
100 System
105 Haushalt
110 Haushaltsroboter
115 Objekt
120 Benutzer
125 Steuervorrichtung
130 Verarbeitungseinrichtung
135 Klassifikator
140 optische Abtasteinrichtung, Kamera
145 akustische Abtasteinrichtung, Mikrofon
150 Speicher
155 Schnittstelle
160 Kommunikationseinrichtung
165 externe Stelle
200 Verfahren
205 Bilder mit Texten bereitstellen
210 kontrastbildendes Lernen
215 Klassifikator erstellen
220 Haushalt abfahren
225 Ansichten erstellen
230 kombinierte Ansicht erstellen
235 sprachliche Anweisung erfassen
240 Sprache in Text wandeln
245 Anweisung analysieren
250 Verb / Präposition / Konjunktion erkennen
255 Ortsbeschreibung extrahieren
260 Position bestimmen
265 Ort bestimmen
270 Funktion bestimmen
275 Roboter steuern
280 Funktion steuern
305 Text
310 Bild
315 erster Encoder, Textencoder
320 zweiter Encoder, Bildencoder 325 erstes Encoding
330 zweites Encoding
335 Matrix
Claims
PATENTANSPRÜCHE
1. Verfahren (200) zum Steuern eines Haushaltsroboters (110), wobei das Verfahren
(200) folgende Schritte umfasst:
Erfassen (235) einer sprachlichen Anweisung von einem Benutzer (120), wobei die Anweisung eine Beschreibung, insbesondere eine natürlich-sprachliche Beschreibung, einer Position im Haushalt (105) umfasst;
Bestimmen (260) einer vom Benutzer (120) intendierten Position basierend auf der in der Anweisung umfassten Beschreibung der Position mittels eines Klassifikators (135);
- wobei der Klassifikator (135) einen ersten Encoder (315) zur Bereitstellung eines ersten Encodings (325) für einen Text und einen zweiten Encoder (320) zur Bereitstellung eines zweiten Encodings (330) für eine Ansicht umfasst; wobei die Encoder (315, 320) darauf trainiert sind, dass erste und zweite Encodings (325, 330), die für einen Text und eine dem Text zugeordnete Ansicht des Haushalts (105) bestimmt werden, einander möglichst ähnlich sind; und Steuern (275) des Haushaltsroboters (110) an die bestimmte Position.
2. Verfahren (200) nach Anspruch 1 , wobei die Encodings (325, 330) jeweils einen Vektor umfassen und die Encoder (315, 320) darauf trainiert sind, ein Vektorprodukt zwischen einander entsprechenden Encodings (325, 330) zu maximieren und ein Vektorprodukt zwischen einander nicht entsprechenden Encodings (325, 330) zu minimieren.
3. Verfahren (200) nach Anspruch 1 oder 2, wobei die Encoder (315, 320) bezüglich Ansichten von Objekten (115), die üblicherweise in einem Haushalt (105) zu finden sind, trainiert sind.
4. Verfahren (200) nach Anspruch 3, wobei die Objekte (115) ein strukturelles Element eines Haushalts (105), ein Möbel und/oder eine Heimtextilie umfassen.
5. Verfahren (200) nach Anspruch 3 oder 4, wobei ein Text, der einer Ansicht zugeordnet ist, unstrukturiert und auf ein Objekt (115) bezogen ist, das auf der Ansicht dargestellt ist.
6. Verfahren (200) nach einem der vorangehenden Ansprüche, wobei mittels des Klassifikators (135) und auf der Basis von Ansichten des Haushalts (105) ein auf einer Ansicht dargestelltes Objekt (115) bestimmt wird, deren zweites Encoding (330) einem ersten Encoding (325) der in der Anweisung umfassten Beschreibung der Position möglichst ähnlich ist.
7. Verfahren (200) nach Anspruch 6, wobei die vom Benutzer (120) intendierte Position auf der Basis einer der bestimmten Ansicht zugeordneten Position bestimmt wird.
8. Verfahren (200) nach Anspruch 6 oder 7, wobei die vom Benutzer (120) intendierte Position auf der Basis einer ortsrelativen Angabe bezüglich eines in der sprachlichen Anweisung erwähnten Objekts (115) bestimmt wird.
9. Verfahren (200) nach Anspruch 8, wobei die Angabe auf eine Geometrie eines Zimmers bezogen ist, in dem sich das Objekt (115) befindet.
10. Verfahren (200) nach einem der vorangehenden Ansprüche, wobei der Klassifikator (135) einen CLIP-Klassifikator (135) umfasst.
11. Verfahren (200) nach einem der vorangehenden Ansprüche, wobei das Haushaltsgerät dazu angesteuert wird, an der bestimmten Position eine vorbestimmte Funktion des Haushaltsroboters (110) auszuführen.
12. Verfahren (200) nach Anspruch 11 , wobei die Funktion auf der Basis der Anweisung bestimmt wird.
13. Verfahren (200) nach einem der vorangehenden Ansprüche, wobei die Anweisung akustisch erfolgt; wobei die akustische Anweisung in eine textuelle Repräsentation umgewandelt wird.
14. Verfahren (200) zum Trainieren eines Haushaltsroboters (110), um ihn mittels eines Verfahrens nach einem der vorangehenden Ansprüche verbessert steuerbar zu machen, wobei das Verfahren zum Trainieren folgende Schritte umfasst
- Ansteuern (220, 225) des Haushaltsroboters (110), so dass dieser durch den Haushalt (105) fährt und Ansichten des Haushalts (105) erfasst,
- Bereitstellen eines zweiten Encodings für ausgewählte Ansichten,
- Abfrage von menschlichem Feedback zu den ausgewählten Ansichten,
- Bereitstellen von ersten Encodings basierend auf dem menschlichen Feedback und - Anpassen des Klassifikators basierend auf den ersten und zweiten Encodings.
15. Verfahren (200) nach Anspruch 14, wobei eine Ansicht des Haushalts (105) während des Kartografierens oder Bearbeitens des Haushalts (105) erfasst (275, 280) wird.
16. Steuervorrichtung (125) für einen Haushaltsroboter (110), wobei die Steuervorrichtung (125) folgendes umfasst: eine Erfassungseinrichtung (145) zum Erfassen einer sprachlichen Anweisung eines Benutzers (120), wobei die Anweisung eine Beschreibung, insbesondere eine natürlich-sprachliche Beschreibung, einer Position im Haushalt umfasst; einen Klassifikator (135), der einen ersten Encoder (315) zur Bereitstellung eines ersten Encodings (325) für einen Text und einen zweiten Encoder (320) zur Bereitstellung eines zweiten Encodings (330) für eine Ansicht umfasst; wobei die Encoder (315, 320) darauf trainiert sind, dass erste und zweite Encodings (325, 330), die für einen Text und eine dem Text zugeordnete Ansicht des Haushalts bestimmt werden, einander möglichst ähnlich sind; und eine Verarbeitungseinrichtung (130) zur Bestimmung einer vom Benutzer (120) intendierten Position basierend auf der in der Anweisung umfassten Beschreibung der Position mittels des Klassifikators (135); und zur Steuerung des Haushaltsroboters (110) an die Position.
17. Haushaltsroboter (110), umfassend eine Steuervorrichtung (125) nach Anspruch 16.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023205876.6A DE102023205876B4 (de) | 2023-06-22 | 2023-06-22 | Steuern eines Haushaltsroboters |
| PCT/EP2024/067207 WO2024261115A1 (de) | 2023-06-22 | 2024-06-20 | Steuern eines haushaltsroboters |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4732083A1 true EP4732083A1 (de) | 2026-04-29 |
Family
ID=91663884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24735596.9A Pending EP4732083A1 (de) | 2023-06-22 | 2024-06-20 | Steuern eines haushaltsroboters |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4732083A1 (de) |
| DE (1) | DE102023205876B4 (de) |
| WO (1) | WO2024261115A1 (de) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102071575B1 (ko) * | 2013-04-23 | 2020-01-30 | 삼성전자 주식회사 | 이동로봇, 사용자단말장치 및 그들의 제어방법 |
| KR102385263B1 (ko) * | 2018-01-04 | 2022-04-12 | 삼성전자주식회사 | 이동형 홈 로봇 및 이동형 홈 로봇의 제어 방법 |
| DE102018207588A1 (de) * | 2018-05-16 | 2019-11-21 | BSH Hausgeräte GmbH | Erstellen einer Umgebungskarte |
| US12140954B2 (en) * | 2018-09-20 | 2024-11-12 | Samsung Electronics Co., Ltd. | Cleaning robot and method for performing task thereof |
| WO2020251096A1 (ko) * | 2019-06-14 | 2020-12-17 | 엘지전자 주식회사 | 인공 지능 로봇 및 그의 동작 방법 |
| DE102022100849A1 (de) * | 2021-01-15 | 2022-07-21 | RobArt GmbH | Situationsbewertung mittels objekterkennung in autonomen mobilen robotern |
-
2023
- 2023-06-22 DE DE102023205876.6A patent/DE102023205876B4/de active Active
-
2024
- 2024-06-20 EP EP24735596.9A patent/EP4732083A1/de active Pending
- 2024-06-20 WO PCT/EP2024/067207 patent/WO2024261115A1/de not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| DE102023205876B4 (de) | 2025-03-20 |
| DE102023205876A1 (de) | 2024-12-24 |
| WO2024261115A1 (de) | 2024-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2977844B1 (de) | Verfahren zur reinigung oder bearbeitung eines raumes mittels eines selbsttätig verfahrbaren gerätes | |
| EP3408719B1 (de) | Verfahren zum erstellen einer umgebungskarte für ein selbsttätig verfahrbares bearbeitungsgerät | |
| DE102012109004A1 (de) | Roboter und Verfahren zur autonomen Inspektion oder Bearbeitung von Bodenflächen | |
| DE102013012224A1 (de) | Vorrichtung zum Entnehmen von lose gespeicherten Gegenständen durch einen Roboter | |
| DE102011120858A1 (de) | Verfahren und Vorrichtung zum berührungslosen Bestimmen von Pflanzenparametern und zum Verarbeiten dieser Informationen | |
| EP3853778B1 (de) | Verfahren und vorrichtung zum betreiben eines steuerungssystems | |
| EP3701434A1 (de) | Verfahren und vorrichtung zum automatischen erzeugen eines künstlichen neuronalen netzes | |
| DE102019109596A1 (de) | System aus einem manuell geführten Bodenbearbeitungsgerät, einem ausschließlich automatisch betriebenen Bodenbearbeitungsgerät und einer Recheneinrichtung | |
| DE102020129026A1 (de) | Sich selbsttätig fortbewegendes Reinigungsgerät | |
| EP2406697A1 (de) | Verfahren und system zum erkennen eines objektes, und verfahren und system zum erzeugen einer markierung in einer bildschirmdarstellung mittels eines berührungslos gestik-gesteuerten bildschirmzeigers | |
| DE102023205876B4 (de) | Steuern eines Haushaltsroboters | |
| EP3343308A1 (de) | Verfahren und vorrichtung zum erkennen eines raumes mittels eines bodenpflegegeräts sowie bodenpflegegerät | |
| DE102020204921A1 (de) | Verfahren und Anordnung zur digitalen Erfassung von Räumlichkeiten eines Gebäudes | |
| DE202012013505U1 (de) | System zur Untersuchung des Innenmaterials eines Objekts, beispielsweise einer Rohrleitung oder eines menschlichen Körpers, mittels Ultraschall von einer Oberfläche des Objekts | |
| WO2022152875A2 (de) | Situationsbewertung mittels objekterkennung in autonomen mobilen robotern | |
| DE102019128927A1 (de) | Verfahren zur Erstellung einer Umgebungskarte für ein sich selbsttätig fortbewegendes Bodenbearbeitungsgerät, sowie System aus zwei sich selbsttätig fortbewegenden Bodenbearbeitungsgeräten | |
| DE102018207588A1 (de) | Erstellen einer Umgebungskarte | |
| DE102019209062A1 (de) | Trainieren eines Intelligenten Hausgeräts | |
| DE102016216409A1 (de) | Interaktive Bedienvorrichtung | |
| DE102023212449A1 (de) | System und Verfahren zur Ferndistanzerkennung und Personalisierung von Gesten | |
| DE102023114440A1 (de) | Erzeugung von 3d-raumplänen mit 2d-formen und 3d-primitiven | |
| EP4152271A1 (de) | Verfahren und vorrichtung zum computergestützten vervollständigen eines durch punkte gebildeten 3d-teilmodells | |
| DE102022210911A1 (de) | Verfahren zum Bestimmen eines Auswahlbereichs in einer Umgebung für ein mobiles Gerät | |
| DE10214658A1 (de) | Bildanalyse-System | |
| EP4044079A1 (de) | System zur raum- und/oder flächenplanung, verwendung eines genetischen algorithmus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20260122 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |