DE102023210263A1 - Method for generating a texture map - Google Patents

Method for generating a texture map Download PDF

Info

Publication number
DE102023210263A1
DE102023210263A1 DE102023210263.3A DE102023210263A DE102023210263A1 DE 102023210263 A1 DE102023210263 A1 DE 102023210263A1 DE 102023210263 A DE102023210263 A DE 102023210263A DE 102023210263 A1 DE102023210263 A1 DE 102023210263A1
Authority
DE
Germany
Prior art keywords
image
mobile device
images
environment
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102023210263.3A
Other languages
German (de)
Inventor
Peter Biber
Stefan Benz
Christian Juette
Alexander Kleiner
Sebastian Haug
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102023210263.3A priority Critical patent/DE102023210263A1/en
Priority to PCT/EP2024/078502 priority patent/WO2025082838A1/en
Publication of DE102023210263A1 publication Critical patent/DE102023210263A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/242Means based on the reflection of waves generated by the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3826Terrain data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/221Remote-control arrangements
    • G05D1/222Remote-control arrangements operated by humans
    • G05D1/224Output arrangements on the remote controller, e.g. displays, haptics or speakers
    • G05D1/2244Optic
    • G05D1/2245Optic providing the operator with a purely computer-generated representation of the environment of the vehicle, e.g. virtual reality
    • G05D1/2246Optic providing the operator with a purely computer-generated representation of the environment of the vehicle, e.g. virtual reality displaying a map of the environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/243Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/10Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/40Indoor domestic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals
    • G05D2111/17Coherent light, e.g. laser signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Verfahren zum Erzeugen einer Texturkarte (232) einer Bodenoberfläche in einer Umgebung, in welcher Umgebung sich ein mobiles Gerät, insbesondere ein sich zumindest teilweise automatisiert bewegenden Fahrzeugs oder Roboter, insbesondere ein Reinigungsroboters, bewegt oder bewegen soll, umfassend: Bereitstellen (200) von Geräte- und/oder Umgebungsinformationen (202, 204, 206), die mittels wenigstens eines Sensors des mobilen Geräts von dem mobilen Gerät und/oder der Umgebung erfasst worden sind, wobei der wenigstens eine Sensor einen Tiefensensor umfasst; Bereitstellen (208) von Bildern (210), die mittels einer Kamera des mobilen Geräts von der Umgebung erfasst worden sind; für ein ausgewähltes Bild oder jedes von mehreren ausgewählten Bildern der bereitgestellten Bilder: Synchronisieren (212) des Bildes mit zumindest einem Anteil der Geräte- und/oder Umgebungsinformationen, die mittels des Tiefensensors erfasst worden sind, in räumlicher und/oder zeitlicher Hinsicht, um synchronisierte Tiefeninformationen (214) zu erhalten, und Extrahieren (216), aus dem Bild, basierend auf den synchronisierten Tiefeninformationen, eines Bodenbildes (218) der Umgebung; Erzeugen (230), basierend auf dem einen oder den mehreren Bodenbildern, einer Texturkarte (232) der Bodenoberfläche der Umgebung; und Bereitstellen (240) der Texturkarte.

Figure DE102023210263A1_0000
The invention relates to a method for generating a texture map (232) of a floor surface in an environment in which a mobile device, in particular an at least partially automated vehicle or robot, in particular a cleaning robot, is moving or is intended to move, comprising: providing (200) device and/or environmental information (202, 204, 206) that has been acquired from the mobile device and/or the environment by means of at least one sensor of the mobile device, wherein the at least one sensor comprises a depth sensor; providing (208) images (210) that have been acquired from the environment by means of a camera of the mobile device; for a selected image or each of a plurality of selected images of the provided images: synchronizing (212) the image with at least a portion of the device and/or environmental information acquired by the depth sensor in spatial and/or temporal terms to obtain synchronized depth information (214), and extracting (216) from the image, based on the synchronized depth information, a ground image (218) of the environment; generating (230) a texture map (232) of the ground surface of the environment based on the one or more ground images; and providing (240) the texture map.
Figure DE102023210263A1_0000

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen einer Texturkarte einer Bodenoberfläche in einer Umgebung, in welcher Umgebung sich ein mobiles Gerät, insbesondere ein sich zumindest teilweise automatisiert bewegenden Fahrzeugs oder Roboter, bewegt oder bewegen soll, sowie ein System zur Datenverarbeitung, ein mobiles Gerät und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for generating a texture map of a ground surface in an environment in which environment a mobile device, in particular an at least partially automated vehicle or robot, is moving or is intended to move, as well as a system for data processing, a mobile device and a computer program for carrying out the method.

Hintergrund der ErfindungBackground of the invention

Mobile Geräte wie z.B. sich zumindest teilautomatisiert bewegende Fahrzeuge oder Roboter bewegen sich typischerweise in einer Umgebung, insbesondere einer zu bearbeitenden Umgebung oder einem Arbeitsbereich, wie z.B. einer Wohnung, in einem Garten, in einer Fabrikhalle oder auf der Straße, in der Luft oder im Wasser. Eines der grundlegenden Probleme eines solchen oder auch anderen mobilen Geräts besteht darin, sich zu orientieren, also zu wissen, wie die Umgebung aussieht, also insbesondere wo Hindernisse oder andere Objekte sind, und wo es sich (absolut) befindet. Dafür kann das mobile Gerät z.B. mit verschiedenen Sensoren ausgerüstet sein, wie z.B. Kameras, Lidar-Sensoren oder auch Intertialsensoren, mit deren Hilfe die Umgebung und die Bewegung des mobilen Gerätes z.B. zwei- oder dreidimensional erfasst wird. Dies ermöglicht es dem mobilen Gerät, sich lokal zu bewegen, Hindernisse rechtzeitig zu erkennen und zu umfahren.Mobile devices, such as at least partially automated vehicles or robots, typically move within an environment, particularly a working area or workspace, such as a home, a garden, a factory hall, on the street, in the air, or in water. One of the fundamental problems of such or other mobile devices is to orient themselves, i.e., to know what the environment looks like, in particular where obstacles or other objects are, and where it is (absolutely) located. For this purpose, the mobile device can be equipped with various sensors, such as cameras, lidar sensors, or inertial sensors, which are used to capture the environment and the movement of the mobile device, for example, in two or three dimensions. This enables the mobile device to move locally, detect obstacles in a timely manner, and avoid them.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Erzeugen einer Texturkarte, sowie ein System zur Datenverarbeitung, ein mobiles Gerät und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for generating a texture map, as well as a data processing system, a mobile device, and a computer program for implementing the method are proposed, having the features of the independent patent claims. Advantageous embodiments are the subject of the subclaims and the following description.

Die Erfindung beschäftigt sich allgemein mit mobilen Geräten, die sich in einer Umgebung oder dort z.B. in einem Arbeitsbereich bewegen bzw. bewegen sollen, sowie insbesondere mit dem Erzeugen einer Texturkarte der Bodenoberfläche in einer solchen Umgebung. Unter einer Texturkarte ist dabei eine Karte zu verstehen, in der eine Textur oder eine Art der Bodenoberfläche (z.B. ein Teppich, ein ebener Boden etc.) erkennbar oder sichtbar ist, also z.B. in Art eines Fotos oder Bildes.The invention generally relates to mobile devices that move or are intended to move in an environment or there, e.g., in a workspace, and in particular to the generation of a texture map of the floor surface in such an environment. A texture map is understood to be a map in which a texture or type of floor surface (e.g., a carpet, a flat floor, etc.) is recognizable or visible, e.g., in the form of a photo or image.

Beispiele für solche mobilen Geräte (oder auch mobile Arbeitsgeräte) sind z.B. Roboter und/oder Drohnen und/oder auch sich teilautomatisiert oder (vollständig) automatisiert (zu Land, Wasser oder in der Luft) bewegende Fahrzeuge. Als Roboter kommen z.B. Haushaltsroboter wie Saug- und/oder Wischroboter, Boden- oder Straßenreinigungsgeräte oder Rasenmähroboter in Betracht, ebenso aber auch andere sog. Service-Roboter, als sich zumindest teilweise automatisiert bewegende Fahrzeuge z.B. Personenbeförderungsfahrzeuge oder Güterbeförderungsfahrzeuge (auch sog. Flurförderfahrzeuge, z.B. in Lagerhäusern), aber auch Luftfahrzeuge wie sog. Drohnen oder Wasserfahrzeuge.Examples of such mobile devices (or mobile work equipment) include robots and/or drones and/or partially or fully automated vehicles (on land, water, or in the air). Robots include, for example, household robots such as vacuum and/or mop robots, floor or street cleaning devices, or lawnmower robots, as well as other so-called service robots, as well as at least partially automated vehicles, such as passenger vehicles or goods transport vehicles (including industrial trucks, e.g., in warehouses), as well as aircraft such as drones or watercraft.

Ein solches mobiles Gerät weist insbesondere eine Steuer- und/oder Regeleinheit und eine Antriebseinheit zum Bewegen des mobilen Geräts auf, sodass das mobile Gerät in der Umgebung, z.B. auch entlang eines Bewegungspfads oder einer Trajektorie, bewegt werden kann. Außerdem kann ein mobiles Gerät einen oder mehrere Sensoren aufweisen, mittels welcher die Umgebung bzw. Informationen in der Umgebung erfasst werden können.Such a mobile device comprises, in particular, a control and/or regulating unit and a drive unit for moving the mobile device, so that the mobile device can be moved in the environment, e.g., along a movement path or trajectory. Furthermore, a mobile device can comprise one or more sensors by means of which the environment or information in the environment can be detected.

Nachfolgend soll die Erfindung insbesondere am Beispiel eines Reinigungsroboters als mobiles Gerät erläutert werden, wenngleich sich das Prinzip auch auf andere Arten von mobilen Geräten übertragen lässt.In the following, the invention will be explained in particular using the example of a cleaning robot as a mobile device, although the principle can also be applied to other types of mobile devices.

Mobile Geräte können im Rahmen ihrer Navigation in einer Umgebung eine Karte erstellen und/oder verwenden. Haushaltsroboter wie Reinigungsroboter können z.B. eine 2D-Kartenansicht zur Interaktion mit einem Benutzer verwenden. Dabei kann z.B. die Struktur der Umgebung auf einer künstlich eingefärbten Karte zu sehen sein, auf der Hindernisse und Mauern als Begrenzung oder sonstige Objekte angezeigt werden. Karten können auch mit Piktogrammen angereichert sein und z.B. die Position der Dockingstation zeigen, die aktuelle Position des Roboters, den zurückgelegten Weg und anders. Auch kann der Benutzer z.B. interaktiv Objektplatzhalter wie Sofa- oder Stuhlmodelle platzieren, um die Karte zu verbessern.Mobile devices can create and/or use a map as part of their navigation within an environment. Household robots, such as cleaning robots, can use a 2D map view to interact with a user. This can include showing the structure of the environment on an artificially colored map, with obstacles and walls representing boundaries or other objects. Maps can also be enhanced with pictograms, showing, for example, the position of the docking station, the current position of the robot, the path traveled, and other information. The user can also interactively place object placeholders, such as sofa or chair models, to enhance the map.

Wie sich gezeigt hat, besteht ein Problem für einen Benutzer jedoch insbesondere darin, dass es schwierig ist, verschiedene Bodentypen in einer solchen Karte zu annotieren (z.B. einen Teppich, eine Grenze zwischen Fliesen in offener Küche und Wohnzimmer und dergleichen). Genau solche Informationen über eine Bodenoberfläche können jedoch wichtig sein, wenn der Benutzer spezielle Go- oder No-Go-Zonen definieren will, d.h. bestimmte Bereich in der Umgebung, in die der Roboter sich bewegen darf oder eben nicht.However, as it turns out, one particular problem for a user is that it is difficult to annotate different floor types in such a map (e.g., a carpet, a border between tiles in an open kitchen and living room, and the like). However, such information about a floor surface can be important if the user wants to define specific go- or no-go zones, i.e., specific areas in the environment into which the robot is allowed or not allowed to move.

Vor diesem Hintergrund wird ein Verfahren zum Erzeugen einer Texturkarte einer Bodenoberfläche in einer Umgebung, insbesondere einem Innenraum, vorgeschlagen. Dabei soll sich das mobile Gerät, in dieser Umgebung bewegen. Hierzu werden Geräte- und/oder Umgebungsinformationen bereitgestellt, die mittels wenigstens eines Sensors des mobilen Geräts von dem mobilen Gerät und/oder der Umgebung erfasst worden sind. Der wenigstens eine Sensor umfasst dabei (zumindest) einen Tiefensensor. Als Tiefensensor kommt insbesondere ein Lidar-Sensor (oder Laserscanner) in Betracht, und zwar insbesondere ein 2D-Lidar-Sensor, d.h. ein Lidar-Sensor, der die Umgebung nur in einer Ebene abtastet. Diese Ebene ist dabei in aller Regel parallel zur Bodenoberfläche, zumindest dann, wenn das mobile Geräte auf einem ebenen Boden steht.Against this background, a method for generating a texture map of a ground surface in an environment, in particular an indoor space. The mobile device is intended to move in this environment. For this purpose, device and/or environmental information is provided which has been detected by at least one sensor of the mobile device from the mobile device and/or the environment. The at least one sensor comprises (at least) one depth sensor. A lidar sensor (or laser scanner) is particularly suitable as a depth sensor, and more specifically a 2D lidar sensor, i.e. a lidar sensor which scans the environment only in one plane. This plane is generally parallel to the ground surface, at least when the mobile device is on level ground.

Grundsätzlich kommen aber auch andere Arten von Tiefensensoren in Betracht, z.B. Time-Of-Flight-Kameras und dergleichen. Unabhängig davon kann das mobile Gerät auch einen oder mehrere andere Sensoren als einen Tiefensensor umfassen, z.B. eine inertiale Messeinheit (IMU), eine Kamera oder Odometrie. Solche anderen Sensoren können insbesondere für die Lokalisierung und/oder Navigation des mobilen Geräts verwendet werden, z.B. im Rahmen von sog. SLAM.In principle, other types of depth sensors are also possible, e.g., time-of-flight cameras and the like. Irrespective of this, the mobile device may also include one or more sensors other than a depth sensor, e.g., an inertial measurement unit (IMU), a camera, or odometry. Such other sensors can be used, in particular, for localization and/or navigation of the mobile device, e.g., in the context of so-called SLAM.

Bei SLAM gibt es verschiedene Ansätze, Karten und Positionen darzustellen. Herkömmliche Verfahren für SLAM stützen sich in der Regel auf geometrische Informationen wie Knoten und Kanten. Knoten und Kanten sind typischerweise Bestandteile des SLAM-Graphen. Die Knoten und Kanten im SLAM-Graph können verschieden ausgestaltet sein; traditionell entsprechen die Knoten z.B. der Pose (Position und Orientierung) des mobilen Geräts oder bestimmter Umgebungsmerkmale zu bestimmten Zeitpunkten, während die Kanten relative Messungen zwischen mobilem Gerät und Umgebungsmerkmal repräsentieren, oder zwischen verschiedenen Posen des mobilen Geräts zu unterschiedlichen Zeitpunkten. Basierend auf einem solchen SLAM-Graphen kann dann eine Karte der Umgebung, in der sich das mobile Gerät bewegt, bestimmt sein oder bestimmt werden. Mit jedem neuen Datensatz mit Informationen zur Umgebung, welche Informationen von einem Sensor des mobilen Geräts erhalten wird bzw. darauf basiert, kann die Karte (bzw. der SLAM-Graph) erweitert oder aktualsiert werden. Die vorstehend erwähnte Karte oder 2D-Karte für den Benutzer kann dabei auch basierend auf der SLAM-Karte oder dem SLAM-Graphen erzeugt werden.In SLAM, there are various approaches to representing maps and positions. Conventional SLAM methods generally rely on geometric information such as nodes and edges. Nodes and edges are typically components of the SLAM graph. The nodes and edges in the SLAM graph can take various forms; traditionally, the nodes correspond, for example, to the pose (position and orientation) of the mobile device or certain environmental features at specific times, while the edges represent relative measurements between the mobile device and environmental features, or between different poses of the mobile device at different times. Based on such a SLAM graph, a map of the environment in which the mobile device moves can be determined or will be determined. With each new data set containing information about the environment, which information is obtained from or is based on a sensor of the mobile device, the map (or SLAM graph) can be expanded or updated. The aforementioned map or 2D map for the user can also be generated based on the SLAM map or SLAM graph.

Zudem werden, neben den Geräte- und/oder Umgebungsinformationen, auch Bilder bereitgestellt, die mittels einer Kamera des mobilen Geräts von der Umgebung erfasst worden sind. Neben dem Tiefensensor weist das mobile Gerät also zumindest noch eine Kamera auf; dies ist erneut unabhängig von ggf. weiteren Sensoren. Die Kamera bzw. die davon erfassten Bilder können ebenfalls zur Lokalisierung und/oder Navigation des mobilen Geräts verwendet werden, z.B. ebenfalls im Rahmen von SLAM. In diesem Zusammenhang wird dann auch von visuellem SLAM gesprochen.In addition to the device and/or environmental information, images captured by the mobile device's camera are also provided. In addition to the depth sensor, the mobile device therefore has at least one other camera; this is again independent of any other sensors. The camera or the images captured by it can also be used for localization and/or navigation of the mobile device, e.g., also within the framework of SLAM. In this context, this is also referred to as visual SLAM.

Für ein ausgewähltes Bild oder jedes von mehreren ausgewählten Bildern der bereitgestellten Bilder werden dann folgende Schritte vorgenommen. Das Bild wird mit zumindest einem Anteil der Geräte- und/oder Umgebungsinformationen, die mittels des Tiefensensors erfasst worden sind - es handelt sich also um Tiefeninformationen - in räumlicher und/oder zeitlicher Hinsicht synchronisiert, um synchronisierte Tiefeninformationen zu erhalten.The following steps are then performed for a selected image or each of several selected images from the provided images. The image is spatially and/or temporally synchronized with at least a portion of the device and/or environmental information captured by the depth sensor—i.e., depth information—to obtain synchronized depth information.

Bei diesem Anteil der Geräte- und/oder Umgebungsinformationen handelt es sich also z.B. um Daten eines Lidar-Scans. Ein Lidar-Scan entspricht in der Regel einer Menge von Punkten, einer sog. Lidar-Punktwolke. Dabei entspricht jeder Punkt einer Stelle an einem Objekt oder Hindernis in der Umgebung, an dem der Laserstrahl des Lidar-Sensors reflektiert worden ist. Damit gibt jeder Punkt auch eine Entfernung eines Hindernisses zum mobilen Gerät bzw. zum Lidar-Sensor an. Die Punktewolke insgesamt liefert damit auch eine Art Tiefenkarte. Eine Time-Of-Flight-Kamera liefert eine ähnliche Art von Tiefeninformationen.This portion of the device and/or environmental information is, for example, data from a lidar scan. A lidar scan typically corresponds to a set of points, a so-called lidar point cloud. Each point corresponds to a location on an object or obstacle in the environment where the laser beam from the lidar sensor was reflected. Thus, each point also indicates the distance of an obstacle from the mobile device or lidar sensor. The point cloud as a whole also provides a type of depth map. A time-of-flight camera provides a similar type of depth information.

Beim Synchronisieren eines Bildes mit Tiefeninformationen geht insbesondere um die zeitliche Synchronisation (sog. Paarfindung) und anschließend ggf. eine Transformation der Daten, sodass sie in einem gemeinsamen Referenz-Koordinatensystem vorliegen, für die weitere Verarbeitung. In der Regel werden die Bilder der Kamera und die Daten des Tiefensensors nämlich nicht oder nicht immer zum selben Zeitpunkt oder zeitlich synchron erfasst. Da sich das mobile Gerät zwischen zwei solche Zeitpunkten jedoch bewegen kann, ist hier ggf. eine räumliche Synchronisation nötig. Bei den synchronisierten Tiefeninformationen handelt es sich dann also insbesondere um Tiefeninformationen, die in Bezug auf Zeit und Pose des mobilen Geräts dem Bild von der Kamera entsprechen.Synchronizing an image with depth information primarily involves temporal synchronization (so-called pairing) and, if necessary, subsequent transformation of the data so that they are available in a common reference coordinate system for further processing. Typically, the camera images and the depth sensor data are not captured at the same time or not always at the same time or synchronously in time. However, since the mobile device can move between two such times, spatial synchronization may be necessary. The synchronized depth information is therefore, in particular, depth information that corresponds to the camera image in terms of time and pose of the mobile device.

Aus dem Bild wird dann, basierend auf den synchronisierten Tiefeninformationen, ein Bodenbild der Umgebung extrahiert. Hierzu ist anzumerken, dass eine Kamera auf einem mobilen Gerät in der Regel nach vorne (oder ggf. auch nach hinten oder zur Seite) gerichtet ist, was für die Navigation und das Erkennen von Hindernissen in der Regel nötig ist. Unter einem Bodenbild ist nunmehr ein Bild zu verstehen, das zumindest annähernd (nur) die Bodenoberfläche zeigt, nicht jedoch Bereiche der Umgebung, die sich nennenswert über den Boden erheben.Based on the synchronized depth information, a ground image of the surroundings is then extracted from the image. It should be noted that a camera on a mobile device is typically directed forward (or possibly backward or to the side), which is usually necessary for navigation and obstacle detection. A ground image is now defined as an image that at least approximately shows (only) the ground surface, but not areas of the surroundings that are significantly elevated above the ground.

Basierend auf dem einen oder den mehreren Bodenbildern wird dann die Texturkarte der Bodenoberfläche der Umgebung erzeugt, die dann auch bereitgestellt wird, z.B. für den Benutzer.Based on the one or more ground images, the texture map of the ground surface of the environment is then generated, which is then also made available, e.g. to the user.

Im Vergleich zu einer Darstellung ohne Textur ist eine Texturkarte mit z.B. fotorealistischer Ansicht für den Benutzer einfacher zu verstehen und es ist für den Benutzer einfacher, mit ihr zu interagieren. Es erleichtert dem Benutzer z.B. eine manuelle Raumsegmentierung und Zonenannotierung (z.B. No-Go-Zonen etc.). Darüber hinaus bietet die generierte Texturkarte eine Grundlage für automatische Segmentierungsmethoden, die z.B. maschinelle Lerntechniken nutzen könnten, um Go-To- oder No-Go-Zonen aus früheren Benutzereingaben zu lernen.Compared to a non-textured representation, a texture map with, for example, a photorealistic view is easier for the user to understand and interact with. It facilitates, for example, manual spatial segmentation and zone annotation (e.g., no-go zones). Furthermore, the generated texture map provides a basis for automatic segmentation methods, which could, for example, use machine learning techniques to learn go-to or no-go zones from previous user input.

Im Vergleich zu anderen Techniken zum Erzeugen einer Texturkarte bietet die Verwendung des Tiefensensors, also z.B. des Lidar-Scans, eine effektive und effiziente Möglichkeit, zu bestimmen, welche Punkte oder Bereiche der Bodenoberfläche oder der Bodenebene zuordnen sind. Dadurch können effektiv die Grenzen des Bildes erstellt werden, und es wird vermieden, dass verzerrte Objekte in der Texturkarte abgebildet werden. Diese Kombination von Sensoren ermöglicht es, ein konsistenteres Bild der Bodenoberfläche oder Bodenebene zu erstellen, als wenn nur eine Transformation des Kamerabildes aus der Vogelperspektive (Top-Down-View) verwendet würde. Darüber hinaus kann diese Texturkarte online (also z.B. zur Laufzeit des mobilen Geräts oder gar in Echtzeit; denkbar ist davon abgesehen auch eine zumindest teilweise Ausführung des Verfahrens z.B. in einer Cloud oder im Internet) erstellt werden. Außerdem kann, anders als bei Live-Ansichten von oben, die bekannte Position aus dem SLAM-System genutzt werden, um eine konsistente Texturkarte der Bodenoberfläche zu erstellen und diese z.B. zur späteren Referenz zu speichern.Compared to other techniques for generating a texture map, the use of a depth sensor, such as lidar scanning, offers an effective and efficient way to determine which points or areas belong to the ground surface or ground plane. This effectively establishes the boundaries of the image and prevents distorted objects from being depicted in the texture map. This combination of sensors makes it possible to create a more consistent image of the ground surface or ground plane than if only a top-down camera image transformation were used. Furthermore, this texture map can be created online (e.g., during runtime of the mobile device or even in real time; it is also conceivable to execute at least part of the process, e.g., in a cloud or on the internet). Furthermore, unlike live views from above, the known position from the SLAM system can be used to create a consistent texture map of the ground surface and save it, for example, for later reference.

In einer Ausführungsform umfasst das Extrahieren des Bodenbildes folgende Schritte. Es wird ein freier Bereich bestimmt, und zwar basierend auf den synchronisierten Tiefeninformationen. Der freie Bereich deckt dabei zumindest einen Teil der Bodenoberfläche der Umgebung ab. Dies kann z.B. ein gewisser Winkelbereich vor dem mobilen Gerät sein. Dabei erlauben die Tiefeninformationen bzw. die synchronisierten Tiefeninformationen, konkret nur einen Bereich zu wählen, in dem kein Hindernis oder sonstiges Objekt wie z.B. eine Wand liegt. Der freie Bereich liegt dabei also insbesondere in einer Ebene, z.B. einer Ebene parallel zur Bodenoberfläche, insbesondere in einem vertikalen Abstand, der einer Höhe des Tiefensensors über dem Boden entspricht.In one embodiment, extracting the ground image comprises the following steps: A clear area is determined based on the synchronized depth information. The clear area covers at least part of the surrounding ground surface. This can, for example, be a certain angular range in front of the mobile device. The depth information or the synchronized depth information specifically allows only an area to be selected in which there is no obstacle or other object, such as a wall. The clear area therefore lies in particular in a plane, e.g., a plane parallel to the ground surface, in particular at a vertical distance that corresponds to a height of the depth sensor above the ground.

Im konkreten Fall des Lidar-Sensors oder 2D-Lidar-Sensors kann der freie Bereich z.B. als eine Menge an Punkten auf Geraden bestimmt werden, welche Geraden einer Erfassungsrichtung des Lidar-Sensors entsprechen, also Linien, auf denen der Lidar-Sensor Laserstrahlen aussendet. Diese Punkte hier sind dabei nicht mit den Punkten der Lidar-Punktwolke zu verwechseln; vielmehr kann es sich bei den Punkten auf den Geraden um mehrere Punkte je Gerade handeln, die insgesamt dann zumindest in etwa gleichmäßig über den freien Bereich verteilt sind und diesen darstellen.In the specific case of a lidar sensor or 2D lidar sensor, the free area can be defined, for example, as a set of points on straight lines, which correspond to a detection direction of the lidar sensor—i.e., lines along which the lidar sensor emits laser beams. These points should not be confused with the points in the lidar point cloud; rather, the points on the straight lines can be multiple points per straight line, which are then distributed at least approximately evenly across the free area and represent it.

Dieser freie Bereich wird dann in das Bild (der Kamera) projiziert, und es werden Bildinformationen aus dem Bild zu zumindest einem Teil des freien Bereichs zugeordnet. Der freie Bereich mit den zugeordneten Bildinformationen wird dann als Bodenbild für das Erzeugen der Texturkarte verwendet. Auf diese Weise kann besonders effizient die Tiefeninformation genutzt werden, um Bodenbilder für die Texturkarte zu erzeugen oder bestimmen.This free area is then projected into the camera image, and image information from the image is assigned to at least part of the free area. The free area with the assigned image information is then used as the ground image for generating the texture map. In this way, depth information can be used particularly efficiently to generate or determine ground images for the texture map.

Alternativ kann das Extrahieren des Bodenbildes aber auch folgende Schritte umfassen. Zunächst wird eine perspektivische Transformation des Bildes (der Kamera) durchgeführt, um ein transformiertes Bild zu erhalten. Es wird zudem, basierend auf den synchronisierten Tiefeninformationen, ein freier Bereich bestimmt, welcher freie Bereich zumindest einen Teil der Bodenoberfläche der Umgebung abdeckt. Dies kann grundsätzlich wie vorstehend beschrieben erfolgen. Ein dem freien Bereich entsprechender Teil des transformierten Bildes wird dann als Bodenbild verwendet.Alternatively, extracting the ground image can also include the following steps. First, a perspective transformation of the image (from the camera) is performed to obtain a transformed image. Based on the synchronized depth information, a clear area is determined, which clear area covers at least part of the surrounding ground surface. This can generally be done as described above. A portion of the transformed image corresponding to the clear area is then used as the ground image.

In einer Ausführungsform umfasst das Erzeugen der Texturkarte das Bestimmen eines oder mehrerer Bildbereiche der Texturkarte, für welche Bildbereiche Bildinformationen von mehreren Bodenbildern vorliegen. Bei solchen Bildereichen kann es sich z.B. um einzelne Bildpunkte und/oder oder Gruppen von Bildpunkten (sog. Pixel) handeln. Für den einen oder zumindest einen, vorzugsweise alle, der mehreren Bildbereiche, wird dann ein Wert für zumindest eines Teils der Bildinformationen basierend auf den mehreren Bodenbildern bestimmt. Dieser Wert wird dann für die Texturkarte verwendet.In one embodiment, generating the texture map comprises determining one or more image regions of the texture map for which image regions contain image information from multiple ground images. Such image regions can be, for example, individual pixels and/or groups of pixels. For one or at least one, preferably all, of the multiple image regions, a value for at least a portion of the image information is then determined based on the multiple ground images. This value is then used for the texture map.

Hierbei kann von einer sog. Multi-View-Kombination gesprochen werden. Ein Ziel der Multi-View-Kombination besteht insbesondere darin, aus Einzelbildern (den mehreren Bodenbildern) ein konsistentes globales Bild der Bodenoberfläche zu erstellen. Jedes Bodenbild ist einer Pose des mobilen Geräts in der globalen Karte zugeordnet. Um die einzelnen Bodenbilder zu kombinieren, kann z.B. eine Mittelung auf einem globalen Pixelraster durchgeführt werden. Für jedes Pixel in diesem Raster können alle Pixel von Bodenbildern gesammelt oder bereitgestellt werden, die in dieses Pixel des Rasters fallen. Anschließend kann z.B. der Farbwert all dieser Pixel gemittelt werden, wobei eine Gammakorrektur berücksichtigt werden kann, um eine natürliche Mischung der beobachteten Farben zu erhalten. Dabei können einzelne Pixel unterschiedlich gewichtet werden, je nachdem, wie weit sie bei der Erfassung durch die Kamera vom mobilen Gerät entfernt waren. Pixel bzw. Bildinformationen, die weniger weit von der Kamera entfernte Bereiche abbilden, weisen nämlich in der Regel weniger Verzerrungen auf, die durch die umgekehrte perspektivische Abbildung verursacht werden, und werden auch weniger durch Rauschen in der Posenschätzung beeinflusst. Auf diese Weise kann also ein (finaler) Wert (z.B. Farbwert) als eine Art gemittelter oder anderweitig abgeleiteter Wert gefunden werden, der für die Texturkarte verwendet wird.This can be referred to as a so-called multi-view combination. One goal of multi-view combination is to create a consistent global image of the ground surface from individual images (the multiple ground images). Each ground image is assigned to a pose of the mobile device in the global map. To combine the individual ground images, for example, an averaging can be performed on a global pixel grid. For each pixel in this grid, all pixels of ground images can be collected or made available. that fall within this pixel of the grid. The color value of all these pixels can then be averaged, for example, taking gamma correction into account in order to obtain a natural mix of the observed colors. Individual pixels can be weighted differently depending on how far they were from the mobile device when captured by the camera. Pixels or image information that depict areas less distant from the camera generally exhibit less distortion caused by inverted perspective mapping and are also less affected by noise in the pose estimation. In this way, a (final) value (e.g. color value) can be found as a kind of averaged or otherwise derived value, which is used for the texture map.

Ein anderer Ansatz zur Bestimmung eines solchen Werts, z.B. mit Mittelung der verschiedenen Farben, ist, die Farben zu mitteln, z.B. im sog. LAB-Farbraum. Es könnte z.B. auch nur die „beste“ Farbe in jedem Pixel behalten bzw. verwendet werden, nachdem ein Gütekriterium (für die Wahl eines Wertes eines der mehreren Pixel als finalen Wert) definiert und angewendet worden ist (z.B. Entfernung von der Kamera bei der Beobachtung oder mäßige Helligkeit).Another approach to determining such a value, e.g., by averaging the different colors, is to average the colors, e.g., in the so-called LAB color space. For example, only the "best" color in each pixel could be retained or used after a quality criterion (for selecting a value from one of the several pixels as the final value) has been defined and applied (e.g., distance from the camera during observation or moderate brightness).

In einer Ausführungsform werden das eine oder die mehreren ausgewählten Bilder gemäß wenigstens eines Kriteriums aus den bereitgestellten Bildern ausgewählt. Somit müssen nicht alle Bilder verwendet werden, sondern es können gezielt Bilder ausgewählt bzw. weggelassen werden, um das Verfahren schneller und effizienter zu machen, oder aber auch das Ergebnis an sich zu verbessern. In one embodiment, the one or more selected images are selected from the provided images according to at least one criterion. Thus, not all images need to be used; rather, specific images can be selected or omitted to make the method faster and more efficient, or even to improve the result itself.

Dabei kommen die folgenden Kriterien für ein jeweiliges Bild in Betracht. Wenn sich eine Position des mobilen Geräts beim Erfassen des Bildes gegenüber dem zuletzt erfassten Bild um weniger als eine vorgegebene Strecke geändert hat. Oder wenn eine Orientierung des mobilen Geräts sich beim Erfassen des Bildes gegenüber dem zuletzt erfassten Bild um weniger als einen vorgegebenen Winkel geändert hat. Position und Orientierung können dabei auch als Pose bezeichnet werden. So werden also z.B. nur Bilder einbezogen, bei denen das mobile Gerät eine begrenzte Anzahl von Translations- und Winkelbewegungen ausführt. Auf diese Weise können Fehler begrenzt werden, die durch unzureichende extrinsische Kalibrierung und Bewegungsunschärfe entstehen. Denkbar ist auch, dass sich eine Position bzw. Orientierung um mehr als eine (dann andere) vorgegebene Strecke bzw. vorgegebenen Winkel geändert hat.The following criteria are taken into account for each image: If the position of the mobile device has changed by less than a specified distance compared to the last captured image when the image was captured. Or if the orientation of the mobile device has changed by less than a specified angle compared to the last captured image when the image was captured. Position and orientation can also be referred to as pose. For example, only images in which the mobile device performs a limited number of translational and angular movements are included. In this way, errors caused by insufficient extrinsic calibration and motion blur can be limited. It is also conceivable that a position or orientation has changed by more than a (then different) specified distance or specified angle.

Es kann auch in Betracht gezogen werden, ob eine Orientierung des mobilen Geräts beim Erfassen des Bildes in einem vorgegebenen Bereich liegt, oder ob eine (ggf. globale) Pose des mobilen Geräts beim Erfassen des Bildes bei keinem einer vorbestimmten Anzahl an zuletzt erfassten Bildern vorlag. Damit werden z.B. nur Bilder berücksichtigt, bei denen das mobile Gerät bzw. dessen Kamera in eine bestimmte Richtung gerichtet ist, um die Auswirkungen von Spiegelreflexionen von Lichtquellen auf das Endergebnis zu begrenzen. In der Praxis ist dies insbesondere bei mobilen Geräten möglich, die zur Erfüllung ihrer Aufgaben Abdeckungsfahrten durchführen (z.B. Reinigungs-, Staubsauger- und Rasenmähroboter). Es kann so auch festgestellt werden, wann eine Pose bereits besucht worden ist, und entschieden werden, ob dort ein neues Bild verwendet werden soll oder das letzte beibehalten werden soll.It can also be considered whether the orientation of the mobile device lies within a predefined range when the image is captured, or whether a (possibly global) pose of the mobile device when the image is captured was not present in any of a predetermined number of recently captured images. This means, for example, that only images in which the mobile device or its camera is pointed in a specific direction are taken into account in order to limit the effects of specular reflections from light sources on the final result. In practice, this is particularly possible for mobile devices that perform coverage movements to perform their tasks (e.g., cleaning robots, vacuum cleaners, and lawnmowers). It can also be determined when a pose has already been visited and a decision can be made whether a new image should be used there or the last one should be retained.

Es kommt auch in Betracht, ob einer oder mehrere Bildparameter vorgegebenen Anforderungen entsprechen. So kann also die Bildqualität berücksichtigt werden Einige grundlegende Parameter des Bildes selbst können so z.B. bewertet werden, um Bilder auszuschließen, die höchstwahrscheinlich extrem unter- oder überbelichtet sind und somit keine nützlichen Informationen in der Region von Interesse liefern.It is also considered whether one or more image parameters meet specified requirements. This allows image quality to be taken into account. For example, some basic parameters of the image itself can be evaluated to exclude images that are most likely extremely under- or overexposed and thus do not provide useful information in the region of interest.

Es kommt auch in Betracht, ob ein Abstand eines Hindernisses in Erfassungsrichtung der Kamera größer als ein vorgegebener Wert ist, wobei der Abstand insbesondere basierend auf den mittels des Tiefensensors erfassten Geräte- und/oder Umgebungsinformationen bestimmt worden ist. So kann z.B. entschieden werden, ob ein Bild verwendet oder nicht verwendet werden soll, je nachdem, wie viel freier Raum vor dem mobilen Gerät mit dem Tiefensensor erkannt werden kann. Mit anderen Worten sollen hierbei keine Bilder verwendet werden, bei denen das mobile Gerät nahe an Objekten ist und daher nur wenig vom Boden sichtbar ist.It is also considered whether the distance of an obstacle in the camera's detection direction is greater than a predetermined value, with the distance being determined, in particular, based on the device and/or environmental information acquired by the depth sensor. For example, a decision can be made whether or not to use an image depending on how much free space in front of the mobile device can be detected with the depth sensor. In other words, images should not be used in which the mobile device is close to objects and therefore only a small part of the ground is visible.

In einer Ausführungsform wird zudem, basierend auf der Texturkarte, eine segmentierte Karte des Untergrunds der Umgebung erzeugt. Damit kann z.B. die Bodentextur durch ein CNN (Convolutional Neural Network) oder einen anderen Maschinenlernalgorithmus nachbearbeitet werden, um verschiedene Typen an Bodenbelägen abzuleiten. Dies kann z.B. bei der richtigen Segmentierung von Räumen helfen, denn oft haben verschiedene Räume unterschiedliche Bodenbeläge; zudem können damit z.B. Vorschläge für die Reinigung oder für Reinigungsarten auf der Grundlage des Bodentyps gemacht werden (z.B.: kein Wischen auf Teppich).In one embodiment, a segmented map of the environment's subsurface is also generated based on the texture map. This allows, for example, the floor texture to be post-processed using a CNN (Convolutional Neural Network) or another machine learning algorithm to derive different types of floor coverings. This can, for example, help with the correct segmentation of rooms, as different rooms often have different floor coverings; it can also be used to make suggestions for cleaning or cleaning methods based on the floor type (e.g., no mopping on carpet).

In einer Ausführungsform kann auch eine aktive Erfassung berücksichtigt werden. Hierbei kann das mobile Gerät direkt angewiesen werden, bestimmte Orte oder Positionen anzufahren, um neue Informationen oder Bilder für die Texturkarte zu erfassen.In one embodiment, active detection may also be considered. The mobile device can be directly instructed to move to specific locations or positions in order to capture new information or images for the texture map.

Anstelle eines Lidar-Sensors können, wie erwähnt, auch andere Tiefensensoren verwenden werden, z.B. Stereokameras, Tiefenkameras (basierend auf Flugzeit oder strukturiertem Licht) sowie Ultraschallsensoren.As mentioned, other depth sensors can be used instead of a lidar sensor, e.g. stereo cameras, depth cameras (based on time-of-flight or structured light) and ultrasonic sensors.

In einer Ausführungsform kann sog. Stitching verwendet werde. Die erwähnte Multi-View-Kombination kann z.B. durch den Einsatz von Stitching-Methoden verbessert werden, wie sie z. B. für das Stitching von Panoramabildern verwendet werden. Dadurch kann z.B. ein überzeugenderes und konsistenteres Bild des Bodens bzw. der Bodenoberfläche erhalten werden.In one embodiment, so-called stitching can be used. The aforementioned multi-view combination can be improved, for example, by using stitching methods such as those used for stitching panoramic images. This can, for example, result in a more convincing and consistent image of the ground or ground surface.

In einer Ausführungsform kann eine Modellierung von Reflektionen erfolgen. Die erwähnte Multi-View-Kombination kann z.B. auch so konzipiert werden, dass Reflexionen auf dem Boden erfasst werden. Eine Möglichkeit ist z.B., mehrere globale Pixelraster zu erstellen, von denen jedes mit Ansichten gefüllt wird, die aus verschiedenen globalen Richtungen bzw. Orientierungen des mobilen Geräts aufgenommen wurden. Ein Raster würde beispielsweise nur mit Einzelbildansichten gefüllt werden, in denen der Roboter in eine Richtung zwischen 0° und 30° zeigt, ein anderes Raster mit Ansichten zwischen 30° und 60° und so weiter. Dies würde zu mehreren Bodenabbildungen führen, bei denen die Spiegelungen in jeder Abbildung konsistent sind. Diese Abbildungen könnten dann in einer Benutzeroberfläche verwendet werden und eine andere Karte anzeigen, je nachdem, in welche Richtung der Benutzer die Darstellung in einer App dreht, was zu einer realistischeren und immersiveren Benutzererfahrung führt. Eine andere Möglichkeit, dies zu erreichen, wäre das Trainieren eines sog. NeRF-basierten Modells auf die einzelne Szene, das auf den 2D-Anwendungsfall beschränkt ist und dadurch einfacher ist (NeRF steht für Neural Radiance Fields und ist ein Verfahren zur Synthese neuartiger Ansichten komplexer Szenen).In one embodiment, reflection modeling can be performed. The aforementioned multi-view combination can, for example, also be designed to capture reflections on the floor. One possibility is, for example, to create multiple global pixel grids, each filled with views captured from different global directions or orientations of the mobile device. For example, one grid would be filled only with single-image views in which the robot is pointing in a direction between 0° and 30°, another grid with views between 30° and 60°, and so on. This would result in multiple floor maps where the reflections are consistent in each map. These maps could then be used in a user interface, displaying a different map depending on the direction the user rotates the view in an app, resulting in a more realistic and immersive user experience. Another way to achieve this would be to train a so-called NeRF-based model on the individual scene, which is limited to the 2D use case and is therefore simpler (NeRF stands for Neural Radiance Fields and is a method for synthesizing novel views of complex scenes).

In einer Ausführungsform kann eine panoptische Abbildung erfolgen. Zusätzlich zur direkten Abbildung (Mapping) von Farbdaten aus den Bildern, kann z.B. auch eine semantische oder panoptische Segmentierung der Farbbilder durchgeführt werden und die Ergebnisse dieser Methoden können dann zugeordnet werden. Eine panoptische Segmentierung beschreibt in diesem Zusammenhang die Zuordnung eines jeden Bildpunkts zu einer eindeutigen Objektklasse und ggf. einer Unterscheidung verschiedener Instanzen einer Objektklasse. Dies würde zu einer kategorialen Zuordnung des Bodens führen, die für den Nutzer noch einfacher zu interpretieren ist, indem ihm einfach gezeigt wird, in welchen Bereichen z.B. Teppiche, Fliesen, Holzböden und so weiter vorhanden sind. Damit dies funktioniert, kann ein anderer Ansatz zur Mittelwertbildung als der vorstehend näher erläuterte diskutierte verwendet werden, ggf. unter Berücksichtigung von Konfidenzen, die von dem für die Segmentierung verwendeten neuronalen Netz vorhergesagt werden.In one embodiment, panoptic mapping can be performed. In addition to directly mapping color data from the images, semantic or panoptic segmentation of the color images can also be performed, and the results of these methods can then be assigned. Panoptic segmentation in this context describes the assignment of each pixel to a unique object class and, if necessary, a differentiation between different instances of an object class. This would lead to a categorical assignment of the floor, which is even easier for the user to interpret by simply showing them in which areas, for example, carpets, tiles, wooden floors, and so on are present. For this to work, a different approach to averaging than the one discussed in more detail above can be used, possibly taking into account confidences predicted by the neural network used for segmentation.

Bevorzugt werden weiterhin Lokalisierungs- und/oder Navigationsinformationen für das mobile Gerät bestimmt, und zwar basierend auf den Geräte- und/oder Umgebungsinformationen und basierend auf SLAM, wie vorstehend schon erwähnt. Das Erzeugen der Texturkarte kann dann weiterhin basierend auf den Lokalisierungs- und/oder Navigationsinformationen erfolgten.Preferably, localization and/or navigation information for the mobile device is further determined based on the device and/or environment information and based on SLAM, as already mentioned above. The texture map can then be generated based on the localization and/or navigation information.

Ein erfindungsgemäßes System zur Datenverarbeitung umfasst Mittel zur Ausführung des erfindungsgemäßen Verfahrens bzw. von dessen Verfahrensschritten. Es kann sich bei dem System um einen Computer oder Server handeln, z.B. in einer sog. Cloud oder Cloud-Umgebung. Dort können die Bilder und Umgebungs- und/oder Geräteinformationen von dem mobilen Gerät erhalten und die Texturkarte wieder an das mobile Gerät übermittelt werden (z.B. über eine drahtlose Datenverbindung). Denkbar ist aber auch, dass ein solches System zur Datenverarbeitung ein Computer oder ein Steuergerät in einem solchen mobilen Gerät ist. Ebenso ist denkbar, dass manche Schritte des Verfahrens auf dem Computer oder Server im Sinne der Cloud-Umgebung durchgeführt werden, andere Schritte hingegen in dem Computer oder Steuergerät in dem mobilen GerätA data processing system according to the invention comprises means for executing the method according to the invention or its method steps. The system can be a computer or server, e.g., in a so-called cloud or cloud environment. There, the images and environmental and/or device information can be received from the mobile device, and the texture map can be transmitted back to the mobile device (e.g., via a wireless data connection). However, it is also conceivable that such a data processing system is a computer or a control unit in such a mobile device. It is also conceivable that some steps of the method are carried out on the computer or server in the cloud environment, while other steps are carried out on the computer or control unit in the mobile device.

Die Erfindung betrifft auch ein mobiles Gerät, das einen Tiefensensor und eine Kamera aufweist, sowie das erwähnte System zur Datenverarbeitung (dann im Sinne eines Computer oder Steuergerät in dem mobilen Gerät). Bevorzugt weist das mobile Gerät auch eine Steuer- und/oder Regeleinheit und eine Antriebseinheit zum Bewegen des mobilen Geräts auf.The invention also relates to a mobile device having a depth sensor and a camera, as well as the aforementioned data processing system (then in the sense of a computer or control unit in the mobile device). Preferably, the mobile device also has a control and/or regulating unit and a drive unit for moving the mobile device.

Das mobile Gerät ist vorzugsweise als sich zumindest teilweise automatisiert bewegendes Fahrzeug, insbesondere als Personenbeförderungsfahrzeug oder als Güterbeförderungsfahrzeug, und/oder als Roboter, insbesondere als Haushaltsroboter, z.B. Saug- und/oder Wischroboter, Boden- oder Straßenreinigungsgerät oder Rasenmähroboter, und/oder als Drohne ausgebildet, wie vorstehend auch schon erläutert.The mobile device is preferably designed as an at least partially automated vehicle, in particular as a passenger transport vehicle or as a goods transport vehicle, and/or as a robot, in particular as a household robot, e.g. a vacuum and/or mop robot, a floor or street cleaning device or a lawnmower robot, and/or as a drone, as already explained above.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.The implementation of a method according to the invention in the form of a computer program or computer program product with pro Program code for carrying out all method steps is advantageous because it results in particularly low costs, particularly if an executing control unit is also used for other tasks and is therefore already present. Finally, a machine-readable storage medium is provided with a computer program stored thereon as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard disks, flash memories, EEPROMs, DVDs, etc. Downloading a program via computer networks (Internet, intranet, etc.) is also possible. Such a download can be wired or cable-based or wireless (e.g. via a WLAN network, a 3G, 4G, 5G or 6G connection, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is illustrated schematically in the drawing using an embodiment and is described below with reference to the drawing.

Kurze Beschreibung der ZeichnungenShort description of the drawings

  • 1 zeigt schematisch ein mobiles Gerät in einer Umgebung zur Erläuterung der Erfindung in einer bevorzugten Ausführungsform. 1 schematically shows a mobile device in an environment for explaining the invention in a preferred embodiment.
  • 2 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. 2 shows schematically a sequence of a method according to the invention in a preferred embodiment.
  • 3 zeigt schematisch ein mobiles Gerät zur Erläuterung der Erfindung. 3 shows schematically a mobile device to explain the invention.

Ausführungsform(en) der ErfindungEmbodiment(s) of the invention

In 1 ist schematisch ein mobiles Gerät 100 in einer Umgebung 120 zur Erläuterung der Erfindung in einer bevorzugten Ausführungsform gezeigt. Bei dem mobilen Gerät 100 handelt es sich beispielhaft um einen Reinigungs- oder Staubsaugerroboter mit einer Steuer- oder Regeleinheit 102 und einer Antriebseinheit 104 (mit Rädern) zum Bewegen des Staubsaugerroboters 100 in der Umgebung 120, z.B. einer Wohnung oder einem Raum. Der Staubsaugerroboters 100 bewegt sich dabei auf der, in der Regel, zumindest im Wesentlichen ebenen, Bodenoberfläche 122 der Umgebung 120.In 1 A mobile device 100 is shown schematically in an environment 120 to explain the invention in a preferred embodiment. The mobile device 100 is, for example, a cleaning or vacuuming robot with a control or regulating unit 102 and a drive unit 104 (with wheels) for moving the vacuuming robot 100 in the environment 120, e.g., an apartment or a room. The vacuuming robot 100 moves on the, generally at least substantially flat, floor surface 122 of the environment 120.

Weiterhin weist der Staubsaugerroboter 100 beispielhaft einen als 2D-Lidar-Sensor ausgebildeten Sensor 106 mit einem Erfassungsfeld auf. Zur besseren Veranschaulichung ist das Erfassungsfeld hier relativ klein gewählt; in der Praxis kann das Blickfeld aber auch bis zu 360° betragen (z.B. aber mindestens 180° oder mindestens 270°). Mittels des 2D-Lidar-Sensors 106 können Abstände zwischen dem mobilen Gerät 100 (bzw. dem Sensor 106) und Objekten in der Umgebung erfasst oder bestimmt werden. Der 2D-Lidar-Sensor 106 ist dabei insbesondere derart angeordnet, dass er die Abstände von den Objekten in einer Ebene parallel zur Bodenoberfläche 122 misst.Furthermore, the robot vacuum cleaner 100 has, for example, a sensor 106 embodied as a 2D lidar sensor with a detection field. For clarity, the detection field is chosen to be relatively small; in practice, however, the field of view can also be up to 360° (e.g., but at least 180° or at least 270°). Using the 2D lidar sensor 106, distances between the mobile device 100 (or the sensor 106) and objects in the environment can be detected or determined. The 2D lidar sensor 106 is arranged in particular such that it measures the distances from the objects in a plane parallel to the floor surface 122.

Bei dem 2D-Lidar-Sensor 106 handelt es sich also um ein Beispiel für einen Tiefensensor mittels dessen Tiefeninformationen als z.B. Teil von Geräte- und/oder Umgebungsinformationen erfasst werden können.The 2D lidar sensor 106 is therefore an example of a depth sensor by means of which depth information can be captured, for example, as part of device and/or environmental information.

Weiterhin weist der Staubsaugerroboter 100 eine Kamera 110 auf, mittels welcher Bilder der Umgebung 120 erfasst werden können. Dabei ist die Kamera insbesondere nach vorne, d.h. in regulärer Fahrrichtung, gerichtet und kann so Bilder von der Umgebung erfassen. Die Bodenoberfläche 122 ist in Bildern der Kamera also nur am Rande und verzerrt enthalten.Furthermore, the robot vacuum cleaner 100 has a camera 110, which can be used to capture images of the surroundings 120. The camera is directed forward, i.e., in the normal direction of travel, and can thus capture images of the surroundings. The floor surface 122 is therefore only peripherally and distortedly visible in the camera images.

Weiterhin weist der Staubsaugerroboter 100 ein System 108 zur Datenverarbeitung, z.B. ein Steuergerät, auf, mittels dessen z.B. über eine angedeutete Funkverbindung Daten mit einem übergeordneten System 150 zur Datenverarbeitung ausgetauscht werden können. In dem System 150 (z.B. ein Server, es kann auch für eine sog. Cloud stehen) können z.B. Navigationsinformationen bestimmt werden, die dann auf das System 108 im Staubsaugerroboter 100 übermittelt werden, gemäß welcher dieser dann betrieben werden soll. Ebenso kann aber vorgesehen sein, dass Navigationsinformationen im System 108 selbst bestimmt werden oder anderweitig dort erhalt werden. Anstelle von Navigationsinformationen kann das System 108 aber z.B. auch Steuerinformationen erhalten, die anhand ei von Navigationsinformationen bestimmt worden sind, und gemäß welcher die Steuer- oder Regeleinheit 102 über die Antriebseinheit 104 den Staubsaugerroboter 100 bewegen kann. Dabei kann sich der Staubsaugerroboter 100 gemäß eines Bewegungspfads oder einer Trajektorie 130 bewegen.Furthermore, the robot vacuum cleaner 100 has a system 108 for data processing, e.g., a control unit, by means of which data can be exchanged, e.g., via an indicated radio connection, with a higher-level data processing system 150. In the system 150 (e.g., a server; it can also represent a so-called cloud), navigation information can be determined, for example, which is then transmitted to the system 108 in the robot vacuum cleaner 100, according to which the latter is then to be operated. However, it can also be provided that navigation information is determined in the system 108 itself or is otherwise received there. Instead of navigation information, the system 108 can, for example, also receive control information determined based on navigation information, and according to which the control or regulating unit 102 can move the robot vacuum cleaner 100 via the drive unit 104. The vacuum cleaner robot 100 can move according to a movement path or trajectory 130.

Weiterhin sind in der Umgebung 120 beispielhaft zwei Hindernisse 124, 128 gezeigt, z.B. Möbel. Zudem ist beispielhaft ein Teppich 126 gezeigt, auf dem sich der Staubsaugerroboter 100 z.B. an sich bewegen kann. Die Beschaffenheit oder Textur der Oberfläche des Teppichs 126 - allgemein auch eine Bodenoberfläche - ist dabei jedoch anders als in anderen Bereichen der Bodenoberfläche 122, in der z.B. ein Holzboden vorhanden ist.Furthermore, two obstacles 124, 128, e.g., furniture, are shown in the environment 120 by way of example. A carpet 126 is also shown by way of example, on which the robot vacuum cleaner 100 can move, for example. However, the nature or texture of the surface of the carpet 126—generally also a floor surface—is different than in other areas of the floor surface 122, where, for example, a wooden floor is present.

Weiterhin ist ein mobiles Eingabegerät 140, z.B. ein Smartphone gezeigt, d.h. z.B. mit dem Staubsaugerroboter 100 bzw. dessen System 108 sowie dem Rechensystem 150 datenübertagend verbunden sein kann, z.B. über eine drahtlose Kommunikationsverbindung. Auf dem mobilen Eingabegerät 140 kann z.B. eine Anwendung (sog. App) vorgesehen sein, mittels welcher der Staubsaugerroboter 100 gesteuert werden kann, z.B. kann dessen Bewegung gestartet und gestoppt werden; die Bewegung des Staubsaugerroboters 100 selbst erfolgt hingegen in der Regel automatisiert bzw. autonom, und zwar insbesondere unter Verwendung von SLAM wie eingangs erläutert.Furthermore, a mobile input device 140, e.g., a smartphone, is shown, which can be connected to the robot vacuum cleaner 100 or its system 108 and the computing system 150 for data transmission, e.g., via a wireless communication connection. An application (so-called app) can be provided on the mobile input device 140, for example, by means of which the robot vacuum cleaner 100 can be controlled, e.g., its movement can be started and stopped. The movement of the robot vacuum cleaner 100 itself, however, is generally automated or autonomous, in particular using SLAM, as explained above.

Daneben kann auf dem mobilen Eingabegerät 140 bzw. der Anwendung aber die Möglichkeit vorgesehen sein, eine Karte der Umgebung 120 anzuzeigen, auf der ein Benutzer dann z.B. bestimmte Bereiche als Go-To- oder No-Go-Zonen oder anderweitig definiert.In addition, the mobile input device 140 or the application may be provided with the option of displaying a map of the environment 120 on which a user can then define, for example, certain areas as go-to or no-go zones or otherwise.

Im Rahmen der vorliegenden Erfindung wird dabei insbesondere eine Möglichkeit zum Erzeugen einer Texturkarte als solche Karte vorgeschlagen. Eine Texturkarte 142 ist in 1 schematisch gezeigt. Dort sind insbesondere die verschiedenen Beschaffenheiten oder Texturen der Bodenoberfläche in der Umgebung zu sehen.Within the scope of the present invention, a possibility for generating a texture map as such a map is proposed. A texture map 142 is shown in 1 shown schematically. There, in particular, the different characteristics or textures of the soil surface in the surrounding area can be seen.

2 ist schematisch ein erfindungsgemäßes Verfahren zum Erzeugen einer Texturkarte in einer bevorzugten Ausführungsform als eine Art Flussdiagramm oder Ablaufdiagramm dargestellt. Beispielhaft soll dies an einem Staubsaugerroboter als mobilem Gerät, wie z.B. auch in 1 gezeigt, erläutert werden. 2 A method according to the invention for generating a texture map is shown schematically in a preferred embodiment as a type of flow chart or sequence diagram. This is to be illustrated by way of example using a vacuum cleaner robot as a mobile device, such as in 1 shown and explained.

In einem Schritt 200 werden hierbei Geräte- und/oder Umgebungsinformationen bereitgestellt, die mittels wenigstens eines Sensors des mobilen Geräts von dem mobilen Gerät und/oder der Umgebung erfasst worden sind. Dabei umfassen die Geräte- und/oder Umgebungsinformationen z.B. Informationen 202 von einer IMU und Informationen 204 von einer Odometrie als Sensoren des mobilen Geräts. Zudem umfassen die Geräte- und/oder Umgebungsinformationen aber Tiefeninformationen 206 die z.B. von einem Lidar-Sensor des mobilen Geräts, wie in 1 gezeigt, erfasst worden sind. Die Tiefeninformationen können z.B. als Punktwolke vorliegen.In a step 200, device and/or environmental information is provided, which has been acquired from the mobile device and/or the environment by means of at least one sensor of the mobile device. The device and/or environmental information includes, for example, information 202 from an IMU and information 204 from an odometry as sensors of the mobile device. In addition, the device and/or environmental information includes depth information 206, which has been acquired, for example, from a lidar sensor of the mobile device, as in 1 shown. The depth information can be presented, for example, as a point cloud.

In einem Schritt 208 werden Bilder 210 bereitgestellt, die mittels einer Kamera des mobilen Geräts von der Umgebung erfasst worden sind, z.B. der in 1 gezeigten Kamera.In a step 208, images 210 are provided which have been captured by a camera of the mobile device from the environment, e.g. the 1 shown camera.

Die Geräte- und/oder Umgebungsinformationen sowie die Bilder werden dabei in der Regel wiederholt erfasst und bereitgestellt, in der Regel jedoch nicht zeitlich oder räumlich synchron.The device and/or environmental information as well as the images are usually recorded and provided repeatedly, but usually not synchronously in time or space.

In einem Schritt 212 wird dann ein ausgewähltes der Bilder 210 mit den Tiefeninformationen 206 räumlicher und/oder zeitlicher Hinsicht synchronisiert, um synchronisierte Tiefeninformationen 214 zu erhalten. Dabei wird insbesondere eine zeitliche Synchronisation vorgenommen, anschließend ggf. eine Transformation der Daten, sodass sie in einem gemeinsamen Referenz-Koordinatensystem vorliegen, für die weitere Verarbeitung.In a step 212, a selected one of the images 210 is then synchronized with the depth information 206 in spatial and/or temporal terms to obtain synchronized depth information 214. In particular, a temporal synchronization is performed, followed, if necessary, by a transformation of the data so that they are present in a common reference coordinate system for further processing.

In einem Schritt 216 wird dann, aus dem Bild, basierend auf den synchronisierten Tiefeninformationen 214, ein Bodenbild 218 der Umgebung extrahiert.In a step 216, a ground image 218 of the environment is then extracted from the image based on the synchronized depth information 214.

Diese Schritte 212, 216 können für alle Bilder 210 erfolgen oder aber nur für ausgewählte dieser Bilder 210. Wie vorstehend schon ausführlicher erläutert, kommen verschiedene Kriterien 220 in Betracht, welche Bilder hierfür ausgewählt werden können. Die so erhaltenen Bodenbilder 218 können dann z.B., Schritt 222, zwischengespeichert werden.These steps 212, 216 can be performed for all images 210 or only for selected ones. As explained in more detail above, various criteria 220 are considered for which images can be selected for this purpose. The soil images 218 thus obtained can then be temporarily stored, for example, in step 222.

Neben den Schritten des Synchronisierens der Bilder und des Extrahierens der Bodenbilder können auch ganz regulär für den Betrieb des mobilen Geräts auch Lokalisierungs- und/oder Navigationsinformationen 224 erzeugt werden, z.B. im Rahmen des erwähnten SLAM. Hierzu werden die Geräte- und/oder Umgebungsinformationen, insbesondere die Informationen 202 von der IMU, die Informationen 204 von der Odometrie sowie die Tiefeninformationen 206 verwendet. Diese Informationen 202, 204, 206 werden, Schritt 226, im Rahmen einer z.B. kontinuierlichen oder quasi-kontinuierlichen Trajektorienplanung verarbeitet, basierend worauf, ggf. mit Zwischenschritten, in Schritt 228, eine Optimierung einer Pose mittels eines SLAM-Graphen erfolgen.In addition to the steps of synchronizing the images and extracting the ground images, localization and/or navigation information 224 can also be generated quite regularly for the operation of the mobile device, e.g., within the framework of the aforementioned SLAM. For this purpose, the device and/or environmental information, in particular the information 202 from the IMU, the information 204 from the odometry, and the depth information 206, are used. This information 202, 204, 206 is processed, in step 226, as part of, for example, continuous or quasi-continuous trajectory planning, based on which, possibly with intermediate steps, a pose is optimized using a SLAM graph in step 228.

Der Schritt 226 kann auch hier für alle erhaltenen Geräte- und/oder Umgebungsinformationen erfolgen, die Optimierung in Schritt 228 hingegen z.B. nur für sog. Keyframes. Basierend auf der Trajektorienplanung in Schritt 226 können dabei insbesondere auch die Kriterien 220 bestimmt werden.Here, too, step 226 can be performed for all received device and/or environmental information, while the optimization in step 228 can be performed only for so-called keyframes, for example. Based on the trajectory planning in step 226, the criteria 220 can also be determined.

Basierend auf den ggf. zwischengespeicherten Bodenbildern 218 wird dann, Schritt 230, eine Texturkarte 232 erzeugt. Hierzu wird insbesondere, Schritt 234, die schon erwähnte Multi-View-Kombination verwendet. Dabei können insbesondere Bildbereiche der Texturkarte, für die Bildinformationen von mehreren Bodenbildern vorliegen, bestimmt werden; zudem können für diese Bildbereiche dann Werte basierend auf den Bodenbildern bestimmt werden.Based on the possibly cached ground images 218, a texture map 232 is then generated in step 230. For this purpose, the aforementioned multi-view combination is used, in particular, in step 234. In particular, image regions of the texture map for which image information from multiple ground images is available can be determined; moreover, values for these image regions can then be determined based on the ground images.

Wie schon erwähnt, ist ein Ziel der Multi-View-Kombination insbesondere, aus den Bodenbildern ein konsistentes globales Bild der Bodenoberfläche zu erstellen. Jedes Bodenbild ist einer Pose des mobilen Geräts in der globalen Karte zugeordnet. Dazu kann z.B. die schon erwähnte Mittelung auf einem globalen Pixelraster durchgeführt werden, ebenso aber eine andere Art der Multi-View-Kombination, wie ebenfalls schon ausführlich erläutert. Dazu kann insbesondere auf die Ergebnisse aus der Optimierung in Schritt 228 zurückgegriffen werden.As already mentioned, one goal of multi-view combination is, in particular, to create a consistent global image of the ground surface from the ground images. Each ground image is assigned to a pose of the mobile device in the global map. For this purpose, the aforementioned averaging can be performed on a global pixel grid, as well as another type of multi-view combination, as already explained in detail. For this purpose, the results from the optimization in step 228 can be used, in particular.

Die Texturkarte 232, die z.B. der in 1 gezeigten Texturkarte 142 entspricht, umfasst oder basiert dann insbesondere auf einer 2D-Karte 236, die im Rahmen des SLAM (Lokalisierungs- und/oder Navigationsinformationen 224 sowie ggf. Trajektorie des mobilen Geräts) erhalten worden ist, sowie den Bodenbildern, die aus den Bildern der Kamera extrahiert und dann auf geeignete Weise verbunden worden sind. In Schritt 240 kann die Texturkarte dann z.B. zur weiteren Verwendung bereitgestellt werden.The texture map 232, which is e.g. 1 The texture map 142 shown then comprises or is based in particular on a 2D map 236 obtained as part of the SLAM (localization and/or navigation information 224 and, if applicable, trajectory of the mobile device), as well as the ground images extracted from the camera images and then combined in a suitable manner. In step 240, the texture map can then be provided, for example, for further use.

An dieser Stelle sei erwähnt, dass eine solche Texturkarte grundsätzlich von verschieden großen und umfangreichen Umgebungen erstellet werden kann, nicht nur von einem einzelnen Raum. So kann die Texturkarte z.B. über eine Wohnung mit einer Vielzahl an Räumen mit teils jeweils mehreren verschiedenen Typen von Bodenoberflächen erstellt werden. Ebenso kann eine Texturkarte aber z.B. aber auch von einer Fabrikhalle oder dergleichen als Umgebung erstellet werden, grundsätzlich auch von Außenumgebungen. Außerdem müssen die verschiedenen Typen von Bodenoberflächen nicht notwendigerweise unterschiedliche Rauigkeiten wie z.B. bei der Unterscheidung Teppich und Holzboden aufweisen, auch z.B. verschiedene Farben des Bodens können als verschiedenen Typen von Bodenoberflächen unterschieden werden.It should be noted here that such a texture map can generally be created for environments of varying sizes and complexity, not just for a single room. For example, the texture map can be created for an apartment with numerous rooms, each with several different types of floor surfaces. Likewise, a texture map can also be created for a factory hall or similar environment, and in principle, for outdoor environments as well. Furthermore, the different types of floor surfaces do not necessarily have to have different roughnesses, such as carpet and wooden floors; different floor colors can also be distinguished as different types of floor surfaces.

In 3 ist schematisch ein mobiles Gerät 300 zur Erläuterung der Erfindung gezeigt, und zwar insbesondere zum Aspekt des Extrahierens eines Bodenbildes. Das mobile Gerät 300 weist beispielhaft einen 2D-Lidar-Sensor 306 und eine Kamera 310 auf. Es kann sich dabei z.B. um das in 1 gezeigte mobile Gerät 100, d.h. den Staubsaugerroboter, handeln.In 3 A mobile device 300 is shown schematically to explain the invention, in particular with regard to the aspect of extracting a ground image. The mobile device 300 has, for example, a 2D lidar sensor 306 and a camera 310. This can, for example, be the 1 shown mobile device 100, ie the robot vacuum cleaner.

Mit 360 sind hierbei Lidar- bzw. Laserstrahlen bezeichnet, die von dem Lidar-Sensor ausgesendet werden. Wenn mittels des Lidar-Sensors die Umgebung erfasst wird, werden solche Laserstrahlen 360 typsicherweise jeweils mit einem gewissen Winkelabstand Δθ zueinander ausgesendet, dieser Winkelabstand kann, muss aber nicht, zwischen jeweils zwei Laserstrahlen 360 identisch sein.360 refers to the lidar or laser beams emitted by the lidar sensor. When the environment is detected using the lidar sensor, such 360 laser beams are typically emitted at a certain angular distance Δθ from each other. This angular distance can, but does not have to, be identical between any two 360 laser beams.

Die Laserstrahlen 360 werden dann an einem Hindernis reflektiert (sofern ein Hindernis hinreichend nahe ist) und die reflektierten Strahlen werden erfasst. Auf diese Weise kann entlang der Laserstrahlen jeweils ein Punkt, hier mit 362 bezeichnet, erhalten werden, der auf einer Oberfläche des Hindernisses liegt und damit eine Entfernung des Hindernisses angibt. Die Menge der Punkte 362 kann dabei auch als Lidar-Punktwolke bezeichnet werden.The laser beams 360 are then reflected off an obstacle (provided the obstacle is sufficiently close), and the reflected beams are detected. In this way, a point, designated here as 362, can be obtained along each laser beam. This point lies on a surface of the obstacle and thus indicates the distance to the obstacle. The set of points 362 can also be referred to as a lidar point cloud.

Das Extrahieren des Bodenbildes kann, wie erwähnt, das Bestimmen eines freien Bereichs umfassen, und zwar basierend auf den synchronisierten Tiefeninformationen, also z.B. einer mit einem Bild synchronisierte Lidar-Punktewolke. Dieser freie Bereich deckt dabei zumindest einen Teil der Bodenoberfläche der Umgebung ab. Insbesondere kann der freie Bereich dabei als eine Menge an Punkten auf Geraden bestimmt werden, welche Geraden einer Erfassungsrichtung des Lidar-Sensors entsprechen.As mentioned, extracting the ground image can include determining a clear area based on the synchronized depth information, e.g., a lidar point cloud synchronized with an image. This clear area covers at least part of the surrounding ground surface. In particular, the clear area can be defined as a set of points on straight lines, which correspond to a detection direction of the lidar sensor.

Solche Punkte sind in 3 mit 364 bezeichnet. Diese Punkte 364 können auf Geraden liegen, die durch die Laser-Strahlen definiert sind. Beispielsweise kann innerhalb eines Bereichs zwischen einem minimalen Radius rmin und einem maximalen Radius rmax in einem Koordinatensystem des Lidar-Sensors (hier mit x,y,z dargestellt) jedem dieser Laser-Strahlen eine Menge von solchen Punkten 364 zugeordnet werden. Die Punkte 364 können dabei, entlang der Laser-Strahlen bzw. Geraden, z.B. einen bestimmten Abstand Δr (Sampling-Abstand) aufweisen.Such points are in 3 designated 364. These points 364 can lie on straight lines defined by the laser beams. For example, within a range between a minimum radius r min and a maximum radius r max in a coordinate system of the lidar sensor (represented here with x, y, z), a set of such points 364 can be assigned to each of these laser beams. The points 364 can, for example, have a specific distance Δr (sampling distance) along the laser beams or straight lines.

Allgemein geht es dabei darum, „wie weit“ entlang einer gedachten Linie Punkte dem freien Bereich zugeordnet werden können oder sollen. Die Punkte 364 müssen nicht zwangsweise auf Geraden gesampled werden, die Δθ auseinanderliegen, sondern könnten auch dichter gesampled werden (z.B. 1/2 Δθ) Dann gäbe es nicht für jeden Strahl einen Punkt 362, der diesen begrenzt. In diesem Fall kann der freie Bereich z.B. über eine lineare Interpolation zwischen zwei Punkten 362 begrenzt sein oder es wird der Punkt gewählt, der einen geringeren Radius aufweist (um z.B. auf Nummer sicher zu gehen).In general, this is about "how far" along an imaginary line points can or should be assigned to the free area. The points 364 do not necessarily have to be sampled on straight lines that are Δθ apart, but could also be sampled more densely (e.g., 1/2 Δθ). Then there wouldn't be a point 362 for each ray that delimits it. In this case, the free area can be delimited, for example, via linear interpolation between two points 362, or the point with a smaller radius can be chosen (e.g., to play it safe).

Der maximale Radius rmax ist dabei eine zuvor vorgegebene Konstante, die beschreibt, dass keinesfalls Punkte in Betracht gezogen werden sollen, die weiter entfernt liegen als rmax (z.B., weil davon ausgegangen wird, dass das Bild dann zu sehr verzerrt wäre oder weil die Messung des Tiefensensors bei großer Entfernung stark verrauscht ist, etc).The maximum radius r max is a previously specified constant that states that points further away than r max should not be considered under any circumstances (e.g. because it is assumed that the image would then be too distorted or because the depth sensor measurement is very noisy at great distances, etc.).

Analog zu rmax ist auch rmin ein zuvor festgelegter Parameter, der den Abtastbereich begrenzt, z.B. um im Bild Bereiche auszusparen, auf denen Teile des Roboters zu sehen sind oder wo die Tiefenmessungen des Lidars ungenau sind (Lidars haben üblicherweise einen Mindestabstand, ab denen sie verlässliche Tiefenwerte liefern).Analogous to r max , r min is also a previously defined parameter that limits the sampling range, e.g. to exclude areas in the image where parts of the robot are visible or where the depth measurements of the lidar are inaccurate (lidars usually have a minimum distance from which they provide reliable depth values).

Auf diese Weise kann durch die Menge der Punkte 364 ein freier Bereich 366 dargestellt werden, insbesondere in einem Koordinatensystem, welcher freie Bereich 366 - jedenfalls auf Höhe des Lidar-Sensors - frei von Hindernissen ist. In dem freien Bereich 366 wird damit also ein Teil der Bodenoberfläche liegen und auch im zugehörigen Bild der Kamera sichtbar sein.In this way, the set of points 364 can be used to represent a clear area 366, particularly in a coordinate system, which clear area 366 is free of obstacles—at least at the level of the lidar sensor. A portion of the ground surface will therefore lie within the clear area 366 and will also be visible in the associated camera image.

Dieser freie Bereich 366 bzw. diese Menge an Punkten 364 kann dann in das Bild projiziert werden, wozu z.B. extrinsische und/oder intrinsische Kameraparameter verwendet werden. Damit kann zumindest einem Teil des freien Bereichs, insbesondere aber jedem Punkt 364, eine Bildinformationen, also z.B. eine Farbe oder eine Menge an Pixeln mit bestimmten Farben, aus dem Bild zugeordnet werden.This free area 366 or this set of points 364 can then be projected into the image, for which purpose, for example, extrinsic and/or intrinsic camera parameters are used. This allows image information, such as a color or a set of pixels with specific colors, to be assigned from the image to at least a portion of the free area, but in particular to each point 364.

Alternativ kann, wie erwähnt, aber auch eine perspektivische Transformation des Bildes durchgeführt werden.Alternatively, as mentioned, a perspective transformation of the image can also be carried out.

Claims (15)

Verfahren zum Erzeugen einer Texturkarte (142, 232) einer Bodenoberfläche (122) in einer Umgebung (120), in welcher Umgebung sich ein mobiles Gerät (100), insbesondere ein sich zumindest teilweise automatisiert bewegenden Fahrzeugs oder Roboter, insbesondere ein Reinigungsroboters, bewegt oder bewegen soll, umfassend: Bereitstellen (200) von Geräte- und/oder Umgebungsinformationen (202, 204, 206), die mittels wenigstens eines Sensors des mobilen Geräts von dem mobilen Gerät und/oder der Umgebung erfasst worden sind, wobei der wenigstens eine Sensor einen Tiefensensor (106, 306) umfasst; Bereitstellen (208) von Bildern (210), die mittels einer Kamera (110, 310) des mobilen Geräts von der Umgebung erfasst worden sind; für ein ausgewähltes Bild oder jedes von mehreren ausgewählten Bildern der bereitgestellten Bilder: - Synchronisieren (212) des Bildes mit zumindest einem Anteil der Geräte- und/oder Umgebungsinformationen, die mittels des Tiefensensors erfasst worden sind, in räumlicher und/oder zeitlicher Hinsicht, um synchronisierte Tiefeninformationen (214) zu erhalten, und - Extrahieren (216), aus dem Bild, basierend auf den synchronisierten Tiefeninformationen, eines Bodenbildes (218) der Umgebung; Erzeugen (230), basierend auf dem einen oder den mehreren Bodenbildern, einer Texturkarte (232) der Bodenoberfläche der Umgebung; und Bereitstellen (240) der Texturkarte.A method for generating a texture map (142, 232) of a floor surface (122) in an environment (120) in which a mobile device (100), in particular an at least partially automated vehicle or robot, in particular a cleaning robot, is moving or is intended to move, comprising: Providing (200) device and/or environmental information (202, 204, 206) that has been acquired from the mobile device and/or the environment by means of at least one sensor of the mobile device, wherein the at least one sensor comprises a depth sensor (106, 306); Providing (208) images (210) that have been acquired from the environment by means of a camera (110, 310) of the mobile device; For a selected image or each of several selected images of the provided images: - Synchronizing (212) the image with at least a portion of the device and/or environmental information acquired by the depth sensor, spatially and/or temporally, to obtain synchronized depth information (214), and - Extracting (216) from the image, based on the synchronized depth information, a ground image (218) of the environment; Generating (230) a texture map (232) of the ground surface of the environment based on the one or more ground images; and Providing (240) the texture map. Verfahren nach Anspruch 1, wobei das Extrahieren des Bodenbildes umfasst: Bestimmen eines freien Bereichs (366), basierend auf den synchronisierten Tiefeninformationen, welcher freie Bereich zumindest einen Teil der Bodenoberfläche der Umgebung abdeckt, Projizieren des freien Bereichs in das Bild, und Zuordnen von Bildinformationen aus dem Bild zu zumindest einem Teil des freien Bereichs, und Verwenden des freien Bereichs mit den zugeordneten Bildinformationen als Bodenbild.Procedure according to Claim 1 , wherein extracting the ground image comprises: determining a clear area (366) based on the synchronized depth information, which clear area covers at least a portion of the ground surface of the environment, projecting the clear area into the image, and assigning image information from the image to at least a portion of the clear area, and using the clear area with the assigned image information as a ground image. Verfahren nach Anspruch 2, wobei der freie Bereich als eine Menge an Punkten (364) auf Geraden bestimmt wird, welche Geraden einer Erfassungsrichtung eines als Lidar-Sensor ausgebildeten Tiefensensors entsprechen.Procedure according to Claim 2 , wherein the free area is determined as a set of points (364) on straight lines, which straight lines correspond to a detection direction of a depth sensor designed as a lidar sensor. Verfahren nach Anspruch 1, wobei das Extrahieren des Bodenbildes umfasst: Durchführen einer perspektivischen Transformation des Bildes, um ein transformiertes Bild zu erhalten, Bestimmen eines freien Bereichs, basierend auf den synchronisierten Tiefeninformationen, welcher freie Bereich zumindest einen Teil der Bodenoberfläche der Umgebung abdeckt, und Verwenden eines dem freien Bereich entsprechenden Teils des transformierten Bildes als Bodenbild.Procedure according to Claim 1 wherein extracting the ground image comprises: performing a perspective transformation of the image to obtain a transformed image, determining a clear area based on the synchronized depth information, which clear area covers at least a part of the ground surface of the environment, and using a part of the transformed image corresponding to the clear area as a ground image. Verfahren nach einem der Ansprüche 2 bis 4, wobei der freie Bereich in einer Ebene liegt.Method according to one of the Claims 2 until 4 , where the free area lies in one plane. Verfahren nach einem der vorstehenden Ansprüche, wobei das Erzeugen der Texturkarte umfasst: Bestimmen (234) eines oder mehrerer Bildbereiche der Texturkarte, für welche Bildbereiche Bildinformationen von mehreren Bodenbildern vorliegen; Bestimmen (234) für den einen oder zumindest einen der mehreren Bildbereiche, eines Wertes für zumindest eines Teils der Bildinformationen basierend auf den mehreren Bodenbildern; und Verwenden des Wertes für die Texturkarte.The method of any preceding claim, wherein generating the texture map comprises: determining (234) one or more image regions of the texture map for which image regions have image information from multiple ground images; determining (234) for the one or at least one of the multiple image regions, a value for at least a portion of the image information based on the multiple ground images; and using the value for the texture map. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend: Bestimmen (226) von Lokalisierungs- und/oder Navigationsinformationen (224) für das mobile Gerät, basierend auf den Geräte- und/oder Umgebungsinformationen und basierend auf SLAM; wobei das Erzeugen der Texturkarte weiterhin basierend auf den Lokalisierungs- und/oder Navigationsinformationen (224) erfolgt.The method according to any one of the preceding claims, further comprising: determining (226) localization and/or navigation information (224) for the mobile device based on the device and/or environmental information and based on SLAM; wherein the texture map is further generated based on the localization and/or navigation information (224). Verfahren nach einem der vorstehenden Ansprüche, wobei das eine oder die mehreren ausgewählten Bilder gemäß wenigstens eines Kriteriums (220) aus den bereitgestellten Bildern ausgewählt werden, wobei das wenigstens eine Kriterium wenigstens eines der folgenden Kriterien für ein jeweiliges Bild umfasst: - eine Position des mobilen Geräts beim Erfassen des Bildes hat sich gegenüber dem zuletzt erfassten Bild um weniger als eine vorgegebenen Strecke geändert, - eine Orientierung des mobilen Geräts beim Erfassen des Bildes hat sich gegenüber dem zuletzt erfassten Bild um weniger als einen vorgegebenen Winkel geändert, - eine Orientierung des mobilen Geräts beim Erfassen des Bildes liegt in einem vorgegebenen Bereich, - eine Pose des mobilen Geräts beim Erfassen des Bildes lag bei keinem einer vorbestimmten Anzahl an zuletzt erfassten Bildern vor, - einer oder mehrerer Bildparameter entsprechen vorgegebenen Anforderungen, - ein Abstand eines Hindernisses in Erfassungsrichtung der Kamera ist größer als ein vorgegebener Wert, wobei der Abstand insbesondere basierend auf den mittels des Tiefensensors erfassten Geräte- und/oder Umgebungsinformationen bestimmt worden ist.Method according to one of the preceding claims, wherein the one or more selected images are selected according to at least one criterion rium (220) are selected from the provided images, wherein the at least one criterion comprises at least one of the following criteria for a respective image: - a position of the mobile device when capturing the image has changed by less than a predetermined distance compared to the last captured image, - an orientation of the mobile device when capturing the image has changed by less than a predetermined angle compared to the last captured image, - an orientation of the mobile device when capturing the image is within a predetermined range, - a pose of the mobile device when capturing the image was not present in any of a predetermined number of last captured images, - one or more image parameters correspond to predetermined requirements, - a distance of an obstacle in the capture direction of the camera is greater than a predetermined value, wherein the distance has been determined in particular based on the device and/or environmental information captured by means of the depth sensor. Verfahren nach einem der vorstehenden Ansprüche, wobei weiterhin umfassend: Erzeugen, basierend auf der Texturkarte, einer segmentierten Karte des Untergrunds der Umgebung.The method of any preceding claim, further comprising: generating, based on the texture map, a segmented map of the subsurface of the environment. Verfahren nach einem der vorstehenden Ansprüche, wobei der Tiefensensor als Lidar-Sensor, insbesondere als 2D-Lidar-Sensor, ausgebildet ist.Method according to one of the preceding claims, wherein the depth sensor is designed as a lidar sensor, in particular as a 2D lidar sensor. System (108) zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorstehenden Ansprüche.A data processing system (108) comprising means for carrying out the method according to any one of the preceding claims. Mobiles Gerät (100, 300), das einen Tiefensensor (106, 306), eine Kamera (110, 310), und ein System (108) nach Anspruch 11 aufweist, bevorzugt mit einer Steuer- oder Regeleinheit (102) und einer Antriebseinheit (104) zum Bewegen des mobilen Geräts gemäß den Navigationsinformationen.Mobile device (100, 300) comprising a depth sensor (106, 306), a camera (110, 310), and a system (108) according to Claim 11 preferably with a control or regulating unit (102) and a drive unit (104) for moving the mobile device according to the navigation information. Mobiles Gerät (100, 300) nach Anspruch 12, das als sich zumindest teilweise automatisiert bewegendes Fahrzeug, insbesondere als Personenbeförderungsfahrzeug oder als Güterbeförderungsfahrzeug, und/oder als Roboter, insbesondere als Haushaltsroboter, z.B. Reinigungsroboter, Boden- oder Straßenreinigungsgerät oder Rasenmähroboter, und/oder als Drohne ausgebildet ist.Mobile device (100, 300) to Claim 12 which is designed as an at least partially automated vehicle, in particular as a passenger transport vehicle or as a goods transport vehicle, and/or as a robot, in particular as a household robot, e.g. a cleaning robot, floor or street cleaning device or lawnmower robot, and/or as a drone. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, die Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf dem Computer ausgeführt wird.Computer program, comprising instructions which, when executed by a computer, cause the computer to carry out the method steps of a method according to one of the Claims 1 until 10 to perform when it is running on the computer. Computerlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 14 gespeichert ist.Computer-readable storage medium on which the computer program is Claim 14 is stored.
DE102023210263.3A 2023-10-19 2023-10-19 Method for generating a texture map Pending DE102023210263A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102023210263.3A DE102023210263A1 (en) 2023-10-19 2023-10-19 Method for generating a texture map
PCT/EP2024/078502 WO2025082838A1 (en) 2023-10-19 2024-10-10 Method for generating a texture map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102023210263.3A DE102023210263A1 (en) 2023-10-19 2023-10-19 Method for generating a texture map

Publications (1)

Publication Number Publication Date
DE102023210263A1 true DE102023210263A1 (en) 2025-04-24

Family

ID=93119665

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023210263.3A Pending DE102023210263A1 (en) 2023-10-19 2023-10-19 Method for generating a texture map

Country Status (2)

Country Link
DE (1) DE102023210263A1 (en)
WO (1) WO2025082838A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220413A1 (en) 2019-12-20 2021-06-24 Robert Bosch Gmbh Method for determining a digital depth map
DE102020133634A1 (en) 2020-12-16 2022-06-23 Valeo Schalter Und Sensoren Gmbh Creating a depth map
WO2022263488A1 (en) 2021-06-17 2022-12-22 Robert Bosch Gmbh Method for detecting objects of a sought type in camera images

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190332114A1 (en) * 2018-04-26 2019-10-31 Maidbot, Inc. Robot Contextualization of Map Regions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019220413A1 (en) 2019-12-20 2021-06-24 Robert Bosch Gmbh Method for determining a digital depth map
DE102020133634A1 (en) 2020-12-16 2022-06-23 Valeo Schalter Und Sensoren Gmbh Creating a depth map
WO2022263488A1 (en) 2021-06-17 2022-12-22 Robert Bosch Gmbh Method for detecting objects of a sought type in camera images

Also Published As

Publication number Publication date
WO2025082838A1 (en) 2025-04-24

Similar Documents

Publication Publication Date Title
EP2977844B1 (en) Method for cleaning or processing a room using an automatically moved device
WO2018114412A1 (en) Method for creating an environment map for a processing unit
DE102022207829A1 (en) Method for adding one or more anchor points to a map of an environment
EP3559773A1 (en) Method for the navigation and self-location of an autonomously moving processing device
WO2023094588A1 (en) Mobile apparatus and method for scanning an object space
DE102022206041A1 (en) Method for determining objects in an environment for SLAM
DE102021205620A1 (en) Method for determining a movement path on a background
DE102025123827A1 (en) EFFICIENT VIEW SELECTION AND 3D SCENE RECONSTRUCTION FOR MOBILE ROBOTS WITH NEURAL RADIATION FIELDS
DE102025123794A1 (en) TRAINING OF MOBILE ROBOT PASSABILITY DETECTION WITH SIMULATED DATA
DE102023210263A1 (en) Method for generating a texture map
EP4229597A1 (en) Method and device for mapping a deployment environment for at least one mobile unit and for locating at least one mobile unit in a deployment environment, and locating system for a deployment environment
DE102021202570A1 (en) DEVICE AND METHOD FOR LOCATING LOCATIONS OF OBJECTS FROM CAMERA IMAGES OF THE OBJECTS
DE102022210911A1 (en) Method for determining a selection area in an environment for a mobile device
WO2023217603A1 (en) Method for determining point groups which are visible or not visible from a specified viewing point
DE102024202538A1 (en) Method for generating a semantically segmented soil map
EP2741161B1 (en) Autonomous apparatus for processing a surface and method for detecting the position of the autonomous apparatus
EP4517471B1 (en) Method for determining a border of a working area for a mobile device
EP4517469B1 (en) Method for determining a changed border of a work area for a mobile device
DE102024203975A1 (en) Method for determining the pose of a mobile device
DE102019204837B4 (en) 3D environment scanning
DE102024203015A1 (en) Method for determining a movement path for a mobile device
DE102024204255A1 (en) Method for creating a map of a workspace for a mobile device
DE102023208362A1 (en) Method for determining a type of subsoil
WO2026057507A1 (en) Method for registering two point sets
DE102024208730A1 (en) Method for determining a motion path for a mobile device

Legal Events

Date Code Title Description
R163 Identified publications notified