Extracting information from surface scans for use in databases.

The method uses surface features like color speckles for localization, addressing inefficiencies in conventional methods by providing a robust and efficient positioning system for mobile robots in changing environments.

JP7616803B2Active Publication Date: 2025-01-17FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023527223
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-08
Filing Date
2021-11-05
Publication Date
2025-01-17
Estimated Expiration
2041-11-05

AI Technical Summary

Technical Problem

Conventional mobile robot localization methods face challenges in changing environments, requiring high computational power, relying on signal strength that can be affected by metal surfaces, and are prone to errors due to worn markers, leading to inefficiencies and reliability issues.

Method used

A method and apparatus that utilize intrinsic features of surfaces, such as color speckles or contrast differences, to determine position by scanning and matching against a database, eliminating the need for pre-applied markers and reducing computational demands.

Benefits of technology

Enables fast and robust localization of mobile robots by leveraging inherent surface features, improving efficiency and reliability in dynamic environments without the need for additional markers or extensive computational resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007616803000001
    Figure 0007616803000001
  • Figure 0007616803000002
    Figure 0007616803000002
  • Figure 0007616803000003
    Figure 0007616803000003
Patent Text Reader

Abstract

An apparatus comprising: a processing unit configured to obtain scan information provided by a detection unit from a scan of a surface, the scan information including information about unique features of the surface; the processing unit configured to extract extracted information about the unique features from the scan information and perform a match with a database based on the extracted information, and the extracted information about a plurality of unique features of the surface is stored in the database; and the processing unit configured to determine a position of the detection unit based on the match.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an apparatus and method for determining the position of a detection unit based on matching extracted information with a database, in particular to image-based localization based on speckle evidence, and further to a method for storing extracted information in a database. [Background technology]

[0002] Localization in free space represents an important basic building block for the operation of mobile robots. For an efficient and safe operation of a mobile robot, for example in a sorting system, the robot should be able to reliably determine its own position. A potential challenge here is the changing environment, for example when the position of shelves or other obstacles changes. Furthermore, there is an interest to make the robots operate at even higher speeds, for example to complete sorting tasks more quickly. Such general conditions impose high demands on the corresponding robots and the respective localization processes.

[0003] Prior Art Previous approaches to localizing robots vary greatly. In some cases the localization problem is even avoided by intelligent tracking ("line following"). A distinction can be made between external and internal localization. In the case of external localization, systems located outside the robot can be used, whereas in the case of internal localization, sensor technology can be located on the robot itself.

[0004] One way to categorize existing internal localization methods can be based on the sensor technology used and its evaluation. Known methods include: Radio-based localization methods: Here, the signal of one or more reference transmitters is used in various ways to establish a relative localization to the reference transmitter. If the absolute location of the transmitter is known, these methods can also be used for absolute positioning. Radio-based solutions operate indoors and outdoors and differ, among other things, in the use of modulation methods, bandwidths, frequencies, number of antennas used (keyword: MIMO), etc. One of the best-known representatives of radio-based localization methods is probably GPS, which is, for example, preferably or can be used only outdoors.

[0005] Localization methods based on distance measurements: this refers to all methods that rely on different sensor technologies by which distances can be measured. These include, among others, laser distance sensors, ultrasonic sensors, time-of-flight sensors, stereo or depth cameras. Sensors are usually used in such a way that distance information is available not only at a single measurement point, but at several (usually consecutive) points. For this purpose, depending on the type of sensor, two or more measurements can or must be taken (e.g. laser scanner with rotating mirror) or two or more sensors must be used (e.g. ultrasonic sensor array). The measurement points can be understood as a kind of height profile, which can be compared with a kind of map from which information can be reconstructed and at which positions in space this height profile can be recorded. For example, the so-called SLAM (Simultaneous Localization and Mapping) algorithms are often used, which combine the processes of mapping and localization and allow an agent to find its way in an unknown environment.

[0006] Camera-based or marker-based localization methods: As in the other two variants, here the position can be determined relative to known patterns in the environment, but based on RGB camera images rather than height profiles or depth images. On the one hand, there are methods that try to extract features from only images of the (unchanging) environment and build a map from these (eg ORB-SLAM), on the other hand, there are several methods that work by markers artificially inserted in the environment. As in radio-based localization methods, the system itself knows the position of the markers in space and its own localization is performed relative to the observed markers. This can be done by triangulation (calculating the position of several markers in the image relative to each other), additional depth information (eg additional use of stereo vision or TOF (time of flight) cameras) or by changing the marker position in the image over time. Markers, for example in the form of QR codes (registered trademark, the same below), can be applied to the ground, for example.

[0007] Other methods use ground cameras using a combination of optical flow and feature-based detection.

[0008] Furthermore, combinations of the above-mentioned methods may also be formed. In particular, it is noted that methods, parts of methods or individual features from the prior art may also be used in combination with the inventive concept described below.

[0009] The inventors have recognized that conventional solutions for localization of mobile robots have several drawbacks. For example, the concept of using tracking to avoid localization problems is difficult to respond to changing environments. Radio-based methods rely on sufficient signal strength, so that the shielding properties of, for example, large metal surfaces of shelves or machines need to be taken into account in large industrial facilities. Furthermore, such localization may be highly dependent on reference transmitters, the failure of which may bring the entire system to a standstill. Systems based on distance measurements with mapping algorithms may have high demands on computing power to record or update the maps. Marker-based methods in turn rely on pre-applied markers that may wear out, especially during operation, which may lead to errors.

[0010] Therefore, there is a need for improved localization concepts.

[0011] Therefore, an underlying objective of the present invention is to provide a device that allows an improved compromise between speed of localization, computational effort and reliability of localization. This object is achieved by the subject matter of the independent claims. Summary of the Invention

[0012] The inventors have realised that unique features of a surface, in particular the ground or floor on which a vehicle moves, can have a sufficiently large feature abundance in a random distribution that can be used for localisation. An embodiment according to the invention is based on the core idea of ​​extracting extracted information for such unique features of the environment in which navigation is to be performed, for example, and performing a match with a database in which extracted information for a number of unique features of the environment is in turn stored, in order to perform localisation by match.

[0013] According to an embodiment of the invention, the apparatus comprises a processing unit configured to obtain scan information provided by the detection unit from a scan of the surface, the scan information including information about unique features of the surface. The processing unit is further configured to extract extracted information about the unique features from the scan information and perform a match with a database based on the extracted information, the extracted information about a plurality of unique features of the surface being stored in the database. The processing unit is further configured to determine a position of the detection unit based on the match.

[0014] The detection unit may be, for example, an optical detection unit, for example a camera. The inherent features of the surface may, for example, in particular be features that describe the stochastically distributed properties of the surface, i.e. features that were not introduced into the surface intentionally or in an organized or predetermined manner. In this context, the inherent features may include, for example, visually recognizable distinguishable features that vary across the surface and are preferably distinguishable through locally limited variable individual features of the surface, such as materials for which the surface has or acts as a carrier. For example, this may be color speckles or other contrast differences or height profiles of the surface. The formation of such features may be performed randomly during the manufacturing process, in contrast to the use of markers such as measurement marks or QR codes, which are not considered to be inherent features in the context of the present invention, since they are specifically applied. Thus, the concept of the present invention allows for the simple use of key characteristics of the environment, for example, without the need to introduce coded information. Furthermore, by determining the position by matching against a database, it is possible to determine the absolute position, for example relative to a position in space, without additional matching against a reference position or known self-starting information, such as, for example, an integrated method of measuring speed or acceleration. However, it should be noted that the inventive concept can also be extended by such further location methods or partial methods.

[0015] According to an embodiment of the invention, the system comprises one or more of the devices described above and below, wherein a surface has unique features, and the device is movably positioned relative to the surface and configured to determine the position of a detection unit relative to the surface.

[0016] In particular, the device may have a detection unit, such that the device, for example implemented as a mobile robot, may determine its own location by determining the location of the detection unit. The overall system of the present invention may for example be used as part of a sorting system, the surface being for example the ground on which the mobile robot moves. Due to the fast and robust localization according to the present disclosure, a higher efficiency of such an overall system is possible than for example previous solutions.

[0017] According to an embodiment of the present invention, a method for determining a position of a detection unit includes obtaining scan information from a detection unit, the scan information being a scan of a surface, the scan information including information about a unique feature of the surface. The method further includes extracting extracted information about the unique feature from the scan information, performing a match with a database based on the extracted information, the database storing the extracted information about a plurality of unique features of the surface, and determining a position of the scanning unit based on the match. Such a method allows for a fast and robust localization of the detection unit, for example without prior information about its own position.

[0018] According to an embodiment of the present invention, a method for storing extracted information in a database for use by an apparatus of the present invention includes obtaining scan information, the scan information being a scan of a surface, the scan information including information about a unique feature of the surface, the method further includes extracting extracted information about the unique feature from the scan information, and storing the extracted information about the unique feature of the surface in a database.

[0019] Storing the extracted information in a database can enable localization of the detection unit of the invention. For example, due to the analogous processing of the information for extraction, optional use of thresholds of the information content, optional determination of the descriptors, as well as evaluation of the extracted information when using, for example, mobile robots, a mapping of the environment, for example the ground, can be performed, for example by an additional system, by one or more robots whose position is precisely known.

[0020] According to an embodiment of the invention, the computer program comprises a program code for performing the inventive method when the program runs on a computer.

[0021] According to an embodiment of the present invention, the apparatus comprises a detection unit configured to provide scanning information.

[0022] Integration of the detection unit into a device implemented, for example, as a mobile robot, allows localization of the device. Furthermore, a defined arrangement of the detection unit on the device can be used for manipulation, for example for improving the scanning information, for example for optical adjustment of the scanning information when knowing the position of the device relative to a surface.

[0023] According to an embodiment of the invention, the processing unit is configured to determine a position of the detection unit in space relative to the unique feature of the surface based on a match to a database.

[0024] By determining the position, e.g. orientation, of the detection unit and thus e.g. the position of the device, higher level trajectory planning, involving e.g. collision avoidance and calculation of possible speeds, can be enabled.

[0025] According to an embodiment of the present invention, the processing unit is configured to extract information about the unique features from the scan information taking into account optical properties of the scanning unit.

[0026] Taking into account the optical properties of the detection unit, e.g. a camera, can contribute to improving the quality of the extracted information. The optical properties can include, for example, the focal length, the aperture angle, or other parameters such as the lens used. Furthermore, if the device comprises a detection unit, the position and orientation of the detection unit relative to the device can also be taken into account.

[0027] According to an embodiment of the present invention, the processing unit is configured, when detecting the scan information, to select a selected portion of the extracted information from the database based on coarse information about the position of the detection unit in space and to use the selected portion for matching.

[0028] The coarse information can be, for example, the last determined position of the detection unit or device. By means of such known information forming the prior information for the current processing step, for example, an area of ​​the database can be selected that is eligible for matching, in other words that contains extracted information on unique features that can be reached by the detection unit in this processing step with respect to the last position of the detection unit. This can reduce the computational effort and / or improve the accuracy of the position information.

[0029] According to an embodiment of the present invention, the processing unit is configured to determine a descriptor as part of the extracted information based on unique features of the surface from the scanning information and perform matching with a database based on the descriptor, and the descriptors for a plurality of unique features of the surface are stored in the database.

[0030] The descriptor can be a mathematical description of the unique feature or a part of the unique feature, e.g. a sub-feature. For example, in the case of color speckles on the ground, a descriptor describing the shape of the color speckle can be calculated. For example, Hu moments can be used for this purpose. The descriptor allows for a more accurate description of the unique feature, and therefore for example a more reliable association to stored features, so that the descriptor allows for classification of the unique feature, and therefore a better matching with a database. Furthermore, a rotational transformation descriptor can be used to determine, for example, the position of the unique feature relative to the detection unit, and thus the position of the detection unit itself.

[0031] According to an embodiment of the present invention, the processing unit is configured to determine a rotation invariant descriptor as part of the extracted information based on intrinsic features of the surface.

[0032] Rotation invariant descriptors can be determined with little computational effort, for example in the course of extracting extracted information, for example as a by-product of image segmentation, which in turn allows classification or description of unique features, which can improve localization by more accurate matching with a database.

[0033] According to an embodiment of the present invention, the processing unit is configured to determine a descriptor comprising Hu moments and / or ORB features.

[0034] Hu moments and / or ORB features (ORB=Oriented Fast and Rotated BRIEF, technical terminology) form examples of descriptors that can be determined with little computational effort, making them suitable for use in mobile robots.

[0035] According to an embodiment of the present invention, the intrinsic features of the surface are probabilistically distributed features having probabilistic properties.

[0036] The probabilistically distributed features may be, for example, the pattern of the ground on which the mobile robot moves, which may differ in size, shape, color, or texture, or even the height profile of the ground. The ability to perform localization based on such features allows the inventive concept to be used in a variety of environments or applications without special preparations such as setting up radio beacons or attaching coded information, for example in the form of a QR code.

[0037] According to an embodiment of the present invention, the information is a random geometric description of probabilistically distributed features.

[0038] By detecting the random geometric shapes of the probabilistically distributed features by the detection unit, the position of the detection unit can be determined in addition to the location, for example by describing the shape of the geometric shape and correlating or matching it with a database. Furthermore, database matching of the random geometric shapes allows, for example, a particularly robust classification of the unique features and thus a robust location determination.

[0039] According to an embodiment of the present invention, the probabilistically distributed features comprise random surface regions and continuous regions with random contours, and the processing unit is configured to extract extracted information comprising information about the random surface regions and the continuous regions with random contours.

[0040] Continuous areas of random surface areas of random contours, e.g. in the form of color speckles or other patterns, can be found in various industrially used ground surfaces, whereby the method of the present invention can be used in various existing plants, e.g. by extracting extracted information, without structural changes.

[0041] According to an embodiment of the present invention, the processing unit comprises a probabilistic filter, the processing unit being configured to perform filtering of the determined position of the detection unit by means of the probabilistic filter to determine a filtered position of the detection unit.

[0042] For example, by using a probabilistic filter, determining the position of the detection unit can be further improved, in particular using a known starting position or the position of the detection unit in a previous processing step, e.g. coarse information. Furthermore, additional information, e.g. from an acceleration or position sensor, can also be used, e.g. via a filter, such as a Kalman filter, for improved or redundant position determination.

[0043] According to an embodiment of the invention, the unique feature of the surface comprises a plurality of sub-features, and the processing unit is configured to extract a set of sub-extracted information for each sub-feature of the plurality of sub-features and to determine from each set of sub-extracted information a value, the value being associated with the information content of the sub-feature associated with the set of sub-extracted information. Further, the processing unit is configured to compare each value with a threshold value, to select a set of sub-extracted information for which the determined value for the associated sub-feature reaches at least the threshold value, and to perform a match against the database based on the selected set of sub-extracted information.

[0044] A sub-feature can be, for example, an individual elevation range or pattern of a surface, such as the ground. Then, for each sub-feature, a number of sub-extracted information can be extracted that allows the description of the sub-feature in terms of matching with the database. In the case of color speckles on the ground, the sub-feature can be a single color speckle, and the set of sub-extracted information can be information on the position, color, shape, and other properties of the color speckle. In this regard, the unique feature mentioned above may in particular include a number of sub-features. In particular, for example, color speckles on the entire ground can form a unique feature, and individual color speckles form sub-features. However, it should be noted that a unique feature can also be formed only by a sub-aspect of the scanning information, such as a monochromatic speckle. Due to the differentiated evaluation of the scanning information of the environment or surface, different information is available for matching with the database, which can result in, for example, a more accurate determination of the position of the detection unit. The threshold comparison allows for a reduction in the computational effort, since, for example, only such sub-extracted information of sub-features with high information content are used for matching with the database, and as a result, the risk of ambiguity can be reduced. Furthermore, the computation can be focused on candidates that are expected to give good and distinguishable results, which allows for low computational effort.

[0045] According to an embodiment of the present invention, the processing unit is configured to determine a descriptor for each sub-feature of the plurality of sub-features as part of the set of sub-extraction information and to perform matching with a database based on the determined descriptor, and the descriptors of the plurality of sub-features are stored in the database.

[0046] As well as determining a descriptor for the inherent feature, a descriptor can also be determined for each sub-feature, which in turn can be used to classify or describe the sub-feature and improve location determination by matching against a database.

[0047] According to an embodiment of the present invention, the processing unit is configured to select the set of sub-extracted information based on the probability of occurrence of the associated sub-features.

[0048] By selecting a set of sub-extracted information whose corresponding sub-features have a low occurrence probability, only a small number of sub-extracted information are matched with the database, so that the computational effort can be reduced. Furthermore, due to the lower occurrence probability, the corresponding sub-features can be more clearly associated with the position of the detection unit, which can allow the position to be determined accurately and / or robustly.

[0049] According to an embodiment of the invention, the processing unit is adapted to determine, from each set of sub-extracted information, a probability of occurrence of the associated sub-feature as a value for the information content.

[0050] By using occurrence probabilities to determine the information content, the invention provides simple and well-interpreted possibilities for performing, for example, the selection of a set of sub-extracted information.

[0051] According to an embodiment of the present invention, the processing unit is configured to determine a point cloud from the selected set of sub-extracted information and perform matching with the database based on a point cloud matching method or algorithm.

[0052] Using the set of sub-extracted information and the positions of the sub-features that may be part of the sub-extracted information, an associated point cloud can be determined and used to match against the database. Several possible implementations of the point cloud matching algorithm can be used, allowing a good compromise between computation speed, computational effort and accuracy depending on the available computing power and architecture, for example, computing the position of a mobile robot by the robot itself or by a central computing unit.

[0053] According to an embodiment of the present invention, the processing unit is configured to perform database matching based on at least one of iterative closest neighbors, kernel correlation, and RANSAC (Random Sample Consensus).

[0054] Corresponding methods can be used in mobile processing units with little computational effort. Furthermore, they can enable sufficiently accurate matching with databases to enable the navigation of autonomous robots.

[0055] According to an embodiment of the present invention, the processing unit is configured to obtain scanning information as an image from a camera as a detection unit, the image being a scan of a ground surface, the image including information about an image background and an image foreground, the image foreground including information about a plurality of color speckles of the ground surface. Furthermore, the processing unit is configured to extract information about the image foreground from the image, and for each color speckle of the plurality of color speckles, extract a set of sub-extracted information from the extracted information of the image foreground, the set of sub-extracted information including information about at least one of a position, a shape, a color, and an area parameter of the associated color speckle.

[0056] Furthermore, the processing unit is configured to, for example, determine a value from each set of sub-extraction information associated with the probability of occurrence of color speckles associated with the set of sub-extraction information, compare each value with a threshold, and select those sets of sub-extraction information in which the associated color speckles reach at least the threshold.Furthermore, the processing unit of the embodiment is configured to determine a point cloud from the selected set of sub-extraction information containing information on the location of the associated color speckles, and perform a match with a database based on the point cloud and the selected set of sub-extraction information, and the predetermined point cloud of the location of the color speckles on the ground and the corresponding set of sub-extraction information are stored in the database.Furthermore, the processing unit is configured to determine the position of the camera based on the match.

[0057] The information about the position of the color speckles can be information about the position in the reference system of the detection unit. Furthermore, the use of an RGB camera allows easy extraction of sub-extraction information, including, for example, information about the color of the associated color speckles. Furthermore, descriptors can be calculated, for example, regarding their shape, for further classification of the color speckles, and matching with a database can be performed with respect to multiple descriptors stored in the database. This concept allows for robust and accurate localization of the camera position on the ground.

[0058] According to an embodiment of the invention, the apparatus is a self-driving and / or autonomous vehicle, and the processing unit is configured to determine a position of the self-driving vehicle.

[0059] When the device is implemented as an autonomous vehicle, the vehicle can be located, in particular by integrating a detection unit that can be mounted at a defined position and location on the vehicle by determining the position of the detection unit. For safe and efficient use of autonomous vehicles, the implementation of the present invention of the vehicle allows for robust and rapid localization.

[0060] According to an embodiment of the invention, the device is a robotic vehicle, such as for a sorting system.

[0061] A sorting system according to embodiments may have multiple robotic vehicles that should preferably be able to determine their own position for efficient and safe operation. Localization according to the present invention can, for example, reduce safety distances to speed up the sorting process.

[0062] According to an embodiment of the present invention, a method for storing extracted information in a database includes determining a value associated with the information content of the unique feature, comparing the value to a threshold, and storing the extracted information about the unique feature of the surface in the database if the determined value of the unique feature reaches at least the threshold.

[0063] By selecting the extracted information with respect to the information content of the associated unique features, both the size of the database and the amount of calculation for matching with the database can be improved, while at the same time improving the quality of the position determination, for example by avoiding mismatches.

[0064] The embodiments according to the present disclosure will be described in more detail below with reference to the attached drawings. With regard to the schematic diagrams shown, it is pointed out that the illustrated functional blocks should be understood as both elements or features of the apparatus according to the present disclosure and corresponding method steps of the method according to the present disclosure, and the corresponding method steps of the method according to the present disclosure can also be derived therefrom. In the drawings: [Brief description of the drawings]

[0065] [Figure 1] 1 shows a schematic side view of an apparatus according to an embodiment of the present invention. [Figure 2a] 1 shows an example of scanning and extracting information from a surface scan according to an embodiment of the present invention. [Figure 2b] 1 illustrates an example of a database match according to an embodiment of the present invention. [Diagram 3] 4 illustrates further scan information according to an embodiment of the present invention. [Figure 4] 1 shows a photograph of a piece of rubber flooring with speckles suitable for embodiments described herein. [Diagram 5] 5 shows an exemplary representation of a segmentation of color speckles in the form of colored "blobs" in the image of the rubber floor from FIG. 4, according to an embodiment. [Figure 6] 13 shows an example representation of a segmentation after discarding blobs with low information content, according to an embodiment. [Figure 7] 7 shows a schematic comparison of a referenced observation point cloud with a reference set of surrounding points, which may be obtained, for example, according to the illustration of FIG. 6. [Figure 8] 4 shows a schematic representation of a sample of normally distributed errors of a localization performed according to an embodiment. [Figure 9] 1 shows a schematic representation of a trajectory in a plane that is traversed twice by a robot. [Figure 10] 13 shows a schematic representation of a localization result according to an embodiment without filtering. [Figure 11] 1 shows a schematic representation of a localization result after filtering according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0066] Before the embodiments of the present invention are described in detail below with reference to the drawings, it is pointed out that identical elements, objects and / or structures, or those with the same function or effect, are given the same or similar reference symbols in different drawings, so that the descriptions of these elements shown in different embodiments are interchangeable or mutually applicable.

[0067] The embodiments described below are described in the context of multiple details. However, the embodiments may be implemented without these detailed features. Furthermore, for clarity, the embodiments are described using block diagrams instead of detailed representations. Furthermore, details and / or features of individual embodiments can be easily combined with each other unless expressly described to the contrary.

[0068] Fig. 1 shows a schematic side view of an apparatus according to an embodiment of the present invention. Fig. 1 shows an apparatus 100 having a processing unit 110. The processing unit 110 may comprise a microcontroller, but may also comprise a processor (central processing unit CPU) and / or a graphical processor unit (GPU).

[0069] The device 100 optionally comprises a detection unit 120. The detection unit comprises, for example, a camera, such as an area scan camera or a line scan camera, but may also be implemented for other, preferably optical, scanning of the surface, for example by RADAR (Radio Detecting and Ranging) or LiDAR (Light Detecting and Ranging). The processing unit 110 is configured to obtain the scanning information provided by the detection unit 120 from the scan 120a of the surface 130, the scanning information including information on the inherent characteristics of the surface. If the detection unit 120 is not part of the device, this information can still be obtained from such a device by the processing unit 110, for example by optical or wireless-based data transmission, wired media, and / or storage media, etc., for example to enable subsequent localization.

[0070] The processing unit 110 is configured to extract extracted information about the unique features from the scan information and perform matching against a database based on the extracted information, the database storing the extracted information about a plurality of unique features of the surface. Further, the processing unit 110 includes an optional probabilistic filter 140.

[0071] A unique feature can be understood to be, for example, a feature recognizable by the scanning technique used, for example, an optically recognizable distinguishable feature that varies across the surface and preferably acts as a locally limited variable individual feature of the surface, for example, as a property of the material that the surface has, or at least as a carrier for it. For example, the optically recognizable feature may be part of the carrier if it is still painted and the paint physically forms the surface, but the feature remains recognizable. Such a distinction is not necessary for such an embodiment, where for example the painted carrier is still understood as a surface. For example, the feature is a color speckle or other contrast difference and / or height profile.

[0072] Furthermore, the processing unit 100 is configured to determine the location of the detection unit based on the matching. The device may be a vehicle, such as a mobile robot as shown in Fig. 1. It may also be implemented as a drone, a car or other, e.g. mobile object, which allows for localization.

[0073] Unlike known methods, the embodiments make it possible to perform localization of the detection unit based on characteristics specific to a surface, such as the ground, for example by evaluating the optical flow to provide an absolute localization.

[0074] The processing unit 110 may further be configured to determine a position of the detection unit in space with respect to the unique features of the surface 130. For example, based on a known defined position of the detection unit 120 with respect to the ground, recognize the position of the unique features with respect to the detection unit, e.g. via database matching with rotational deformation descriptors and / or point cloud matching. For further improvement, in particular the properties of the detection unit, such as the optical properties of the detection unit 120, e.g. a camera, can be taken into account, e.g. to prepare the scan information for evaluation or information extraction.

[0075] The processing unit can be configured to match the recognized unique features with a database, for example, possibly as a result of a pre-processing described below, the database including, for example, the features and the assigned location, so that, based on the match, the assigned location can be obtained as a result of the match, and thus the localization is based on the unique features. Compared to, for example, a QR code, this can mean a significant reduction in effort, since such a code does not have to be applied to the surface first. In addition to the position, the rotation of the detection unit can also be obtained from the comparison, for example by storing the corresponding reference information of the stored features in a database.

[0076] To reduce computation time, the processing unit 110 may further take into account coarse information regarding the location of the detection unit, e.g. the last determined location, in order to use only a selected part of the database for matching. Alternatively or additionally, further information may be used, such as knowledge that the vehicle is located in a particular section or sector of the overall system, e.g. only database entries for which a match is possible or likely taking into account the preliminary information are used for the comparison.

[0077] For example, the processing unit 110 may determine a descriptor as part of the extracted information based on the intrinsic features of the surface in order to perform a match with a database based on the descriptor. Such a descriptor, i.e. a description identifier, may be rotation variant but is preferably rotation invariant. Rotation invariant descriptors may have the advantage that, for example, during matching with a database, of the same but rotated features, under a rotation of the feature associated with the descriptor relative to the descriptor stored in the database, they can still be reliably recognized or assigned, for example with high reliability and / or accuracy. This means that even if localization is performed with different rotation angles for the feature or sub-feature, a feature can be reliably recognized based on the descriptor. When using rotation invariant descriptors, according to the invention, a point cloud matching algorithm can be used to determine the rotation or precisely determine the position of the detection unit. Furthermore, the processing unit 110 can also be configured to determine information regarding the rotation of the intrinsic features based on a histogram of orientation gradients (HOG) and thus, in conclusion, information regarding the rotation or position of the detection unit based on, for example, the known position and location of the detection unit relative to the scan information.

[0078] An optional probabilistic filter 140 may be used to filter the determined position of the detection unit, for example to determine a filtered position of the detection unit, to improve the position determination.

[0079] Fig. 2a shows an exemplary schematic diagram illustrating a possible processing of scanning information that can e.g. originate from a surface scan and be used to extract information according to an embodiment of the present invention. Fig. 2a shows a scan 210 of a floor surface with exemplary color speckles, i.e. surface color differences, as known e.g. from recycled rubber flooring that can be used as a base layer for washing machines.

[0080] Thus, the unique features 220 may, for example, form the ensemble of color speckles on a surface, and the associated extracted information may form the ensemble of information extracted therefrom, including, for example, the overall or relative arrangement, shape, color, area and / or location of all color speckles or portions thereof about which the scan information 210 has information.

[0081] In the illustrated case, the unique feature 220 has multiple sub-features 220-1, 220-2, 220-3 (and others), such as the morphology of speckles of individual colors. Note that complementary colors, such as a monochromatic background, may have comparable information, at least in part, regarding the shape of the speckles, their overall or relative placement, and / or the area of ​​the speckles that can be seen as part of the background by separation. For each color speckle, a respective set of sub-extraction information 230, 240, 250 may be extracted. As an example, the extraction of three sub-features 220-1, 220-2, 220-3 is shown.

[0082] For sub-feature 220-1, a set of sub-extracted information 230 is extracted, for sub-feature 220-2, a set of sub-extracted information 240 is extracted, and for sub-feature 220-3, a set of sub-extracted information 250 is extracted.

[0083] The sub-extraction information may have at least information 230-1, 240-1, 250-1 on the set including the shape, color, area parameters, and position of the associated sub-features, respectively, and the enumeration, order, and content of the number of different categories should be understood as merely exemplary and not necessarily limiting the embodiment. This information may be stored in various formats 230-2, 240-2, 250-2. For example, this information may have a descriptor describing the information about the shape. For example, the information about the color may be described using RGB values ​​or discrete text information such as "blue". For example, the area parameters describing the area content may form a single scalar, such as z1. The position may be determined as a tuple of coordinates, such as (pos x1, pos y1).

[0084] A value can be determined for a set of sub-extracted information related sub-features from the extracted information associated with the information content. According to Fig. 2a, this can be, for example, an area parameter. For example, it can be assumed that large color speckles occur less frequently than small color speckles, or vice versa, or one color or shape is represented more frequently than another. The threshold comparison 230-3, 240-3, 250-3 can reduce the computational effort required for subsequent database matching by increasing the information content of the individual selected sub-extracted information. For example, sub-feature 220-2 is not considered because its associated area parameter z2 does not satisfy the associated threshold 240-3. This can also be expressed in such a way that highly probable, i.e. information-poor sub-features can be excluded or filtered out by threshold determination.

[0085] FIG. 2b shows an example of matching with a database according to an embodiment of the present invention. FIG. 2b shows a representation of sub-features of the scan information 210 of FIG. 2a with sub-features whose associated sub-extraction information satisfies a threshold value in block 220b. The database 270 includes extracted or sub-extracted information for a number of unique features of a surface or unique sub-features of a surface. Associated sub-extracted information (not shown) is assigned to each of the illustrated sub-features in the database 270. For example, by matching with respect to the arrangement and respective information of the sub-extraction information, the sub-feature 220b may be associated with information in the database 270 to determine the detection unit location.

[0086] In an embodiment, determining the location of the detection unit by matching with a database may include several steps. For example, in a first step, a set of possible locations of a sub-feature may be obtained by matching the associated sub-extraction information of the sub-feature with the sub-extraction information of the database. This allows the possible locations of the sub-feature (e.g., a blob) within a reference field, e.g., the entire mapped surface, e.g., the ground, to be determined.

[0087] In a further step, a point cloud matching algorithm can then be used to overcome any ambiguity in determining the location, or in other words to determine the true or at least likely location of the sub-feature from a set of possible locations.

[0088] Additional information can also be taken into account, such as the position of the sub-features relative to each other. For example, the five shapes in FIG. 2b may appear in different similar positions in the spatial database, for example because similar sub-features have been mapped to other positions. In this case, it may not be sufficient to know which sub-extracted information is present in the image. It may therefore be advantageous or necessary to take into account the position of the elements, e.g. color speckles or blobs, relative to each other. This information can be processed by a point cloud matching algorithm, for example, to enable unambiguous assignment.

[0089] In further embodiments according to the invention further steps may be omitted, in which for example by simply searching a database a descriptor can be determined that is clear enough to determine the location of the sub-feature and thus the location of the detection unit.

[0090] Fig. 3 shows further scan information according to an embodiment of the present invention. Fig. 3 shows a height profile of a scan of a surface, e.g. ground, where ground sub-features 310 are, e.g., individual bumps and / or depressions in the ground, and the sub-extracted information comprises bump height or width information 320. Area and / or shape, as well as height, as understood as island structures, can also be used here as an alternative or in addition to color.

[0091] The threshold for selecting the sub-extraction information is formed, for example, by a minimum height 330, and this example can also be inverted in the depth direction. Thus, the embodiment according to the present invention is not limited to image information and / or grounds. Furthermore, environmental features arranged, for example, on the ceiling or walls of the environment can also be used. For example, for the formation of the drone according to the present invention, multiple extraction information of the unique features of the surface of the environment can be extracted in three-dimensional space.

[0092] Further embodiments according to the present disclosure are described in more detail below with reference to FIGS.

[0093] To this end, FIG. 4, for example, shows a photograph or image of a piece of rubber flooring as described above having color speckles that may at least partially represent unique features 220.

[0094] Aspects of this embodiment are attempted or formed to form a detection unit in the form of a camera directed at the ground or a surface in the form of the ground, together with a processing unit for extracting special features from the recorded scanning information with information on special and / or unique features of the ground or for localization, and for comparing it with a database of features whose position is known. In other words, extracted information is extracted by the camera from information on unique features, e.g. special features, which are compared with the database, and the extracted information for a number of unique features of the surface is stored in the database.

[0095] Unlike marker-based systems, it does not involve specially applied features such as QR codes on the ground, as is the case for example in ORB-SLAM (ORB = Oriented Fast and Rotated BRIEF, technical term), nor a SLAM ("Simultaneous Localization and Mapping") process that independently extracts features from camera images and maps them.

[0096] In order to better understand the concept of the invention, examples of floor surfaces are described in more detail below, for example apart from the algorithm. A standard process for the manufacture of rubber floors as shown in FIG. 4 uses recycled materials (e.g. EPDM-ethylene propylene diene (monomer) granules), which are added to the base compound in the form of small colored "flakes". The base compound mixed with the plastic granules is then extruded and / or rolled. The result of this process is, for example, a rubber mat (cut to size or rolled up), which has a speckle pattern. The exact appearance of the pattern depends on the type and amount of granules added, but the resulting "speckles" are, for example, always completely random (see FIG. 4). Thus, the speckles are unique to the floor and at the same time, due to their randomness, form a source of information for localization. It should be noted that the method of the invention is not limited to a class of rubber floors subject to a specific manufacturing process. For example, a variety of floors similar to those described herein, or different randomness of the inherent features, can be used.

[0097] One idea of ​​the method according to this embodiment example is to make this random speckle pattern, which is automatically generated during the manufacturing process, usable for localization. To this end, the embodiment provides for performing a process of image processing, described below, which is not necessarily a SLAM process, and is therefore performed at least partially in advance on the entire ground surface, or on the entire ground surface that is made usable for localization, in order to obtain a reference database, such as springs in the database. The entire processing pipeline may consist of or include the following elements, which may be executed in sequence: A first step after capturing an image, although not necessarily performed first, may include segmentation, the purpose of which is to isolate continuous color segments from the image. These continuous colored regions may be called "(color) blobs" or color smears, see for example the description of the unique features 220-1, 220-2 and 220-3 in Fig. 2a and Fig. 2b. In other words, in a first step, for example, to extract extracted information or sub-extracted information, the image may be segmented to extract extracted information, for example, regarding the colors of individual color blobs. In other words, segmentation forms an example of extraction of extracted information or extraction of sub-extracted information, for example, regarding sub-features of monochromatic blobs.

[0098] A system according to embodiments described herein includes an apparatus as described herein and a surface having unique features, the apparatus being movably disposed relative to the surface and configured to determine a position of a detection unit relative to the surface, and further comprising a database.

[0099] The result of such a segmentation can be seen in Figure 5. In this regard, Figure 5 shows the segmentation of color speckles in the form of colored "blobs" in an image.

[0100] Depending on the type of ground plane used, a different number of different segmentation levels can be used here. In the example of figures 4 and 5, the ground plane consists of four different colours, namely red, green, blue and black, with the dominant colour (black) representing the background. The result of the segmentation in this example are three binary images, separating continuous areas of the same colour ("blobs") from the rest. It is possible to carry out the evaluation only in this subset space, for example using only one or two colours, but it offers the advantage of using all sources of information.

[0101] For example, some of the information present in the image is discarded in order to make the whole more usable for further processing or to make it less computationally complex. The ground shown has, for example, 30% EPDM particles, 10% for red, green and blue, respectively. According to the basics of information theory, the widest part of the ground (70%) is black, so the color contains the most information. It should be noted that such compositions of the ground or colored parts are intended here merely as examples for clarity, and the embodiments according to the present invention are not limited to such examples.

[0102] According to the basics of information theory, symbols carry the most information, so their occurrence probability is low. Considering the manufacturing process, for example in the ground shown in Figures 4 and 5, blobs with very large areas occur less frequently than those with small areas, so for example all blobs with too small areas are discarded. This fact does not necessarily apply to all grounds that can be used according to the invention. In another rubber floor, it is quite possible that this ratio is exactly reversed. It is important to understand that the shifting or discarding of blobs, or in other words the selection of the seeds of sub-features or sub-extracted information associated with them, does not necessarily have to be done based on the observed pixel area, but rather is optimally done according to the features or extracted information or sub-extracted information associated with the features that clarify, improve and / or maximize the information content of the individual elements, for example. The identification of which features or thresholds are appropriate can be determined, for example, by looking at and / or evaluating the surface of the manufacturing process, or by evaluating already existing grounds.

[0103] The results of the above process can be seen for all three segmentations (RGB) in FIG.

[0104] 6 is a representation of a segmentation after discarding blobs with low information content, such that only features 220-3 to 220-11 remain for evaluating the segment, while others, such as features 220-1 and / or 220-2, are ignored or excluded. Note that a combination of features, such as 220-9, 220-10 and 220-11, can also be considered a combined feature. In other words, FIG. 6 shows features or sub-features whose values ​​are determined from a set of associated extracted or sub-extracted information and compared to a threshold, where the determined values ​​of associated selected blobs at least meet the threshold.

[0105] Rotation-invariant feature descriptors can then be formed for one, some or all of the blobs, for example as part of the extracted or sub-extracted information. For this purpose, for example, the so-called Hu moments can be used, which allow a simplified mathematical description of the shape of the blobs. At this point, other mathematical descriptors may also be used, but the Hu moments can be algorithmically very advantageous, since they can be calculated as a by-product of the segmentation, or in other words, in the course of extracting color information pseudo-at-will.

[0106] For each blob, its position and its Hu moments can now be stored. The next step can be performed again at another abstraction level. From the set of selected sub-extracted information a point cloud can be determined. The positions of all blobs at all segmentation levels can thus be assumed to be one point cloud. Using the camera matrix and a known distance, for example, to the ground, the position of each blob can be transformed from pixel coordinates to world coordinates, i.e. the distance of a point in the point cloud formed from the blob corresponds, for example, to the real or absolute physical distance of the blob on the ground. Further improvement of the extracted information from the scanning information can also be achieved by taking into account further optical properties of the detection unit in the form of a camera.

[0107] The goal here is to fit the observed point cloud of the acquired images to all the blobs present on the ground and stored in a database, or in other words the point cloud resulting from the previously mapped blobs, see Figure 7.

[0108] Fig. 7 shows the cloud of observation points referenced in the left image section and the reference set of surrounding points in the right image section (right). The right side of Fig. 7 may represent a simplified view of a part of the database. A matching group 46 of color blobs is shown by way of example.

[0109] The fitting can be implemented using a point cloud matching algorithm, for example "iterative closest point" - ICP for short. The procedure is not limited to using the iterative closest point algorithm. There are other algorithms, such as kernel correlation or RANSAC, which can also be used to fit the point cloud.

[0110] at this point a. Located at the same segmentation level (i.e., have the same color) b. It can be exploited that points from the observation point cloud can be fitted to points in the reference cloud if they have a small distance according to a metric that operates on the feature descriptor (simply put, they have a similar shape in terms of Hu moments), so that previously calculated descriptors, e.g. feature descriptors, can be used again.

[0111] For example, it should be noted that, particularly in further embodiments, further (sub)extracted information may also be used to characterize the (sub)features, and thus the matching or, in other words, fitting may also have further boundary conditions.

[0112] Fitting the observation point cloud to the reference data ensures that not only the position of a sensing unit, e.g. a robot in space, but also its rotation or position in space can be determined in one step.

[0113] In the following, figures 8, 9, 10 and 11 are used to explain further embodiments according to the invention, which allow for an improvement of the localization by means of probabilistic filters, for example in particular terrestrial cameras can be used as detection units.

[0114] The inventive concepts of this embodiment, which may form a further development of the inventive concepts described above, are first described in general terms.

[0115] In any kind of localization algorithm, erroneous localizations can occur. In the context of the present embodiment, for example, in the particular use case of a robot, it is desirable to minimize such errors for real-world use, since the robot otherwise drives very erratically to think for a short time, in other words the localization simply feeds back that the robot has jumped to a different position. Minimization can be done via statistical filtering, where the errors are modeled as random variables with known probability density functions.

[0116] Filters can work purely from the data via statistical models (e.g., in a "recursive least squares" filter) or can use additional information from other sensors. In robotics, it is well established to use odometry (e.g., simply put, "how did I drive") to filter the results of localization algorithms, since this data can be easily obtained, for example, by measuring the number of wheel revolutions. Again, these measurements can be erroneous, but errors in the wheel revolutions sensor are usually not correlated with errors in the localization algorithm, so the two values ​​can be usefully merged to obtain a better estimate of the current position. The two most commonly used filters for this task are the Kalman filter and the particle filter. Figure 8 shows the principle diagrammatically.

[0117] FIG. 8 shows a schematic diagram of a sample 48 of normally distributed errors of localization associated with errors along two orthogonal directions X and Y.

[0118] Essentially, a variety of filters can be used, and in some cases the type of filter used may not even be important, for example. To better understand why filtering the results may be advantageous or even important, Figures 9, 10, and 11 are described below.

[0119] Figure 9 shows the trajectory 52 of the robot in a two-pass plane. The single point represents the actual position of the vehicle in the XY plane (the "ground truth"), as measured by the motion capture system. The graph reflects the trajectory covered without a time component (in the form of a two-pass crossing hourglass).

[0120] Fig. 10 shows the localization results without filtering. The results of the localization algorithm are shown. The driven trajectory can still be clearly seen as a local trajectory 54, but also the incorrect estimation 56, which may lead to gaps 58 and / or outliers 62 on the trajectory 54.

[0121] 11 shows the localization results after filtering as filtered trajectories 64 based on the filtered individual localizations. The data is not as clean as the ground truth, i.e. there are still deviations, but there are also no real outliers or gaps.

[0122] It turns out that the use of additional probabilistic filters allows for example to improve the localization, especially for autonomous navigation tasks. The odometry of the robot according to the invention can also be used for filtering to improve the position information. This can also be used to create, for example, redundant systems, which are especially safety-critical, for example to reduce the possibility of false localizations and accidents.

[0123] Conclusions and further comments In general, the embodiments according to the invention have the advantage that the method according to the invention can function precisely and without great expense at very high speeds, for example on a robot with a detection unit (current prototypes manage for example 5 m / s). This may be one of the most important advantages. Among other things, this is also due to the fact that the calculation times of the algorithms used are very short, which is another advantage of the device according to the invention.

[0124] Image segmentation and computation of feature descriptors in embodiments of the present invention can be computed in a highly parallelized manner, for example on a graphics card, and algorithms for point cloud matching can also be performed with low computational complexity (example of the order of computational complexity: an exemplary prototype achieves 50 localizations per second on an Nvidia Jetson board). In other words, algorithms for point cloud matching can be hardly computationally intensive.

[0125] Ground-based localization according to the present invention generally has the advantage (eg, prior to or in relation to environmentally based localization) of being robust even in changing environments such as automated warehouses.

[0126] The main or greatest advantage over existing solutions may be that the method of the invention (as already mentioned above) still works fast and reliably.

[0127] Another advantage of the inventive concept, as compared to, for example, marker-based approaches, is that the markers, e.g., QR codes, are not initially applied to the ground and do not need to be updated if they become too worn. Furthermore, such examples of systems do not provide "gapless" localization, since recognition is not possible between markers, e.g., QR codes. In contrast, the inventive method allows for gapless localization with features already automatically applied in the manufacturing process of a surface, e.g., a floor.

[0128] In general, embodiments according to the present invention are based on the idea of ​​using a descriptor, e.g. a feature descriptor of color speckles, to segment color speckles, e.g. ground blobs, using a point cloud matching algorithm and taking previously extracted or sub-extracted information, e.g. previously extracted features, into account in the matching or fitting.

[0129] Further embodiments may be based on segmenting red, green, and blue speckles, segmenting rubber floor speckles, using Hu moments as feature descriptors, using ICP as a point cloud matching algorithm, and considering Hu moments in ICP matching. Furthermore, instead of Hu moments with ICP, for example, ORB features with kernel correlations can be used.

[0130] In general, the embodiments according to the invention can be technically used for essentially any form of mobile robot used in industry. The aforementioned rubber flooring, for example, as already mentioned, is the absolute standard in many applications and can be perfectly used, for example, as flooring in industrial halls. However, in particular due to the ability to localize at very high speeds, for example compared to the prior art, the described inventive approach is particularly suitable for example for fast moving mobile robots, which can be used, for example, in vehicle-based sorting systems or are involved in transport over longer distances.

[0131] The embodiments according to the present disclosure can be converted or used in the SLAM method. A big advantage of SLAM is that it can handle changing environments, for example. Take a room containing a table with a chair. The position of the chair can change over time. The SLAM method remaps the new position of the chair and keeps it as a reference until it is changed again.

[0132] However, the advantage of the method of the present invention compared to the SLAM method is that since the inherent features of the ground, e.g. the speckle pattern created during the manufacture of rubber flooring, are used as reference, according to the present invention there is no need for a permanent remapping process since the changes in the ground are rather small and can possibly even be carried out in a process separate from the localization by another device / vehicle (e.g. reacting to signs of wear that may occur after several years).

[0133] An embodiment according to the present invention comprises an apparatus for determining the position of a detection unit forming an internal positioning system.

[0134] The method for determining the position of a detection unit according to an embodiment comprises the following steps: acquiring scan information from the detection unit, the scan information being a scan of the surface, the scan information including information about unique features of the surface; extracting unique feature extraction information from the scan information; performing a match against a database based on the extracted information, the database storing the extracted information for a plurality of unique features of the surface; and determining a position of the detection unit based on the matching.

[0135] A method for storing extracted information in a database for use by an apparatus according to embodiments described herein comprises the following steps: acquiring scan information, the scan information being a scan of a surface, the scan information including information about unique features of the surface; extracting unique feature extraction information from the scan information; and storing the extracted information about the unique features of the surface in a database.

[0136] Such a method optionally includes: determining a value associated with the information content of the unique characteristic; comparing the value to a threshold; and storing the extracted information about the unique feature of the surface in a database, provided that the determined value of the unique feature reaches at least a threshold value.

[0137] All materials, environmental effects, electrical properties and optical properties listed should be considered as examples and are not exhaustive.

[0138] It will be appreciated that although some aspects are described in the context of an apparatus, these aspects also represent a description of the corresponding method, so that the blocks or components of the apparatus should also be understood to be corresponding method steps or features of method steps. Similarly, aspects described in relation to or as method steps also represent a description of the corresponding blocks or details or features of the corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus, such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, some or more of the most important method steps may be performed by such an apparatus.

[0139] Depending on the specific implementation requirements, the embodiments of the present invention can be implemented in hardware or software. The implementation can be performed using a digital storage medium, such as a floppy disk, a DVD, a Blu-ray disk, a CD, a ROM, a PROM, an EPROM, an EEPROM, a flash memory, a hard disk, or any other magnetic or optical storage medium on which electronically readable control signals are stored that can interact or interact with a computer system programmable to execute the respective method. Thus, the digital storage medium can be computer readable.

[0140] Thus, some embodiments of the present invention include a data carrier having electronically readable control signals capable of interacting with a programmable computer system to perform any of the methods described herein.

[0141] In general, embodiments of the present invention may be implemented as a computer program product having program code that operates to perform any method when the computer program product is run on a computer.

[0142] For example, the program code may also be stored on a machine-readable medium.

[0143] Other embodiments comprise a computer program for performing any of the methods described herein, the computer program being stored on a machine readable medium.

[0144] In other words, an embodiment of the inventive method is, therefore, a computer program comprising a program code for performing any of the methods described herein, when the computer program runs on a computer.

[0145] A further embodiment of the inventive method is therefore a data carrier (or digital storage medium or computer readable medium) on which is recorded a computer program for performing any of the methods described herein. The data carrier, digital storage medium or computer readable medium is typically tangible and / or non-transitory or non-transient.

[0146] A further example of the inventive methods is therefore a data stream or a sequence of signals representing the computer program for performing any of the methods described herein, the data stream or the sequence of signals may be adapted to be transmitted via a data communication link, such as, for example, the Internet.

[0147] Another embodiment comprises a processing device, such as a computer or a programmable logic device, configured or adapted to perform any of the methods described herein.

[0148] Another embodiment comprises a computer having installed thereon the computer program for performing any of the methods described herein.

[0149] Another embodiment according to the invention comprises an apparatus or system configured to transmit a computer program for performing at least one of the methods described herein to a receiver. The transmission may be, for example, electronic or optical. The receiver may be, for example, a computer, a mobile device, a storage device or a similar device. The apparatus or system may, for example, comprise a file server for transmitting the computer program to the receiver.

[0150] In some embodiments, a programmable logic device (e.g., a field programmable gate array, FPGA) may be used to perform some or all of the functions of the methods described herein. In some embodiments, the field programmable gate array may interact with a microprocessor to perform any of the methods described herein. In general, in some embodiments, the methods are performed in a piece of any hardware apparatus. This may be general-purpose hardware, such as a computer processor (CPU), or hardware specific to the methods, such as an ASIC.

[0151] The apparatus described herein may be implemented, for example, using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0152] The apparatus described herein, or any components of the apparatus described herein, may be implemented at least in part in hardware and / or software (computer programs).

[0153] The methods described herein may be implemented, for example, using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0154] The methods described herein, or any components of the methods described herein, may be at least partially performed by hardware and / or software.

[0155] The above-described embodiments are merely illustrative of the principles of the present invention. It is understood that modifications and variations of the configurations and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the present invention be limited only by the scope of the claims set forth below, and not by the specific details presented by the description and explanation of the embodiments herein.

Claims

1. An apparatus (100), comprising: A processing unit comprising: obtaining scan information (210) provided by a detection unit (120) from a scan (120a) of a surface (130), the scan information (210) including information about a unique feature (220) of the surface (130), the unique feature (220) of the surface (130) including a plurality of sub-features (220-1, 220-2, 220-3, 310); extracting extraction information for the unique feature (220) from the scan information (210), the processing unit (110) extracting a set of sub-extracted information (230, 240, 250, 320) for each sub-feature (220-1, 220-2, 220-3, 310) of the plurality of sub-features and determining a descriptor for each sub-feature (220-1, 220-2, 220-3, 310) as part of the set of sub-extracted information; determining a value from each set of sub-extracted information (230, 240, 250, 320), said value being associated with the information content of said sub-feature associated with said set of sub-extracted information (230, 240, 250, 320); comparing each value to said information content thresholds (230-3, 240-3, 250-3, 330); selecting a set of those sub-extracted information for its associated sub-feature (220-1, 220-2, 220-3, 310), the determined value reaching at least the threshold (230-3, 240-3, 250-3, 330) of information content; performing a match with a database (270) based on the determined descriptors of the set of selected sub-extracted information, the database (270) storing extracted information for a plurality of unique features of the surface (130) whose positions are known, the database (270) storing descriptors of the plurality of sub-features (220-1, 220-2, 220-3, 310); An apparatus (100) comprising a processing unit configured to determine the position of the detection unit (120) based on the matching.

2. The apparatus (100) of claim 1, comprising the detection unit (120) configured to provide the scanning information (210).

3. The apparatus (100) of any one of claims 1 to 2, wherein the processing unit (110) is configured to determine a position of the detection unit (120) in space relative to the unique feature (220) of the surface (130) based on the matching with the database (270).

4. The apparatus (100) of any one of claims 1 to 3, wherein the processing unit (110) is configured to extract the extracted information of the unique feature (220) from the scan information (210) taking into account optical characteristics of the detection unit (120).

5. The apparatus (100) of any one of claims 1 to 4, wherein the processing unit (110) is configured to select a selected portion of the extracted information of the database (270) based on coarse information regarding the position of the detection unit (120) in space when detecting the scanning information (210) and to use the selected portion for matching.

6. The apparatus (100) of any one of claims 1 to 5, wherein the processing unit (110) is configured to determine a rotation invariant descriptor as part of the extracted information based on the unique features (220) of the surface (130).

7. 7. The apparatus (100) of claim 1, wherein the processing unit (110) is configured to determine a descriptor comprising the Hu moments in order to perform the matching with the database (270) using the Hu moments.

8. The apparatus (100) of any one of claims 1 to 7, wherein the intrinsic features (220) of the surface (130) are probabilistically distributed features having probabilistic properties.

9. The apparatus (100) of claim 8, wherein the information defines a random geometric description of the probabilistically distributed features.

10. the probabilistically distributed features include continuous surfaces having random areas and random shapes; The apparatus (100) according to claim 8 or 9, wherein the processing unit (110) is configured to extract the extracted information comprising information about continuous regions having random areas and random shapes.

11. The apparatus (100) of any one of claims 1 to 10, wherein the processing unit (110) comprises a probabilistic filter (140), and the processing unit (110) is configured to perform filtering of the determined position of the detection unit (120) by the probabilistic filter (140) to determine a filtered position of the detection unit (120).

12. The apparatus (100) of any one of claims 1 to 11, wherein the processing unit (110) is configured to select the set of sub-extracted information based on a probability of occurrence of the associated sub-features (220-1, 220-2, 220-3, 310).

13. The apparatus (100) of any one of claims 1 to 12, wherein the processing unit (110) is configured to determine, from each set (230, 240, 250, 320) of sub-extracted information, a probability of occurrence of the associated sub-feature (220-1, 220-2, 220-3, 310) as the value of the information content.

14. The apparatus (100) of any one of claims 1 to 13, wherein the processing unit (110) is configured to determine a point cloud from the selected set of sub-extracted information and perform matching with the database (270) based on a point cloud matching algorithm.

15. The apparatus (100) of claim 14, wherein the processing unit (110) is configured to perform matching with the database (270) based on at least one of iterative closest point and kernel correlation.

16. The processing unit (110) acquiring the scanning information (210) as an image from a camera as a detection unit (120), the image being a scan (120a) of a ground surface, the image including information about an image background and an image foreground, the image foreground including information about a plurality of color speckles of the ground surface; extracting the information relating to the image foreground from the image; For each color speckle of the plurality of color speckles, extracting a set of sub-extracted information (230, 240, 250, 320) from the extracted image foreground information and determining a descriptor as part of the set of sub-extracted information, the set of sub-extracted information (230, 240, 250, 320) including information regarding a position of the associated color speckle and at least one of shape, color, and area parameters; determining from each set of sub-extraction information (230, 240, 250, 320) a value associated with the probability of occurrence of said color speckle associated with said set of sub-extraction information (230, 240, 250, 320); Each value is compared with a threshold (230-3, 240-3, 250-3, 330); Selecting those sets of sub-extracted information for whose associated color speckles the determined value reaches at least the threshold value (230-3, 240-3, 250-3, 330); determining a point cloud from the selected set of sub-extracted information that includes information regarding the locations of the associated color speckles; performing a match with a database (270) based on the point cloud and the selected set of sub-extraction information, the database (270) storing a predetermined point cloud of locations of color speckles of the ground and a corresponding set of sub-extraction information, the database (270) storing a descriptor of the plurality of color speckles; The apparatus (100) of any one of claims 1 to 15, configured to determine the position of the camera based on the matching.

17. The apparatus (100) of any one of claims 1 to 16, wherein the apparatus (100) is an automated mobile vehicle, and the processing unit (110) is configured to determine a location of the automated mobile vehicle.

18. The apparatus (100) of any one of claims 1 to 17, wherein the apparatus (100) is a robotic vehicle.

19. 19. The apparatus of claim 1, wherein the unique features (220) include optically recognizable, distinguishable, or varying across the surface features in the form of differences in contrast, color, and / or height profile of the surface.

20. The apparatus of any one of claims 1 to 19, wherein the unique feature (220) of the surface (130) is a difference in contrast, color and / or height profile of the surface.

21. the intrinsic features (220) of the surface (130) are probabilistically distributed features having probabilistic properties; the features being patterns of the surface having different sizes, shapes, colors or textures, and / or height profiles; 21. Apparatus according to any one of claims 1 to 20.

22. 1. A system comprising: An apparatus (100) according to any one of claims 1 to 21, the surface (130) including the unique feature (220), the device (100) being movably positioned relative to the surface (130) and configured to determine a position of the detection unit relative to the surface (130); The database (270).

23. A method for determining a position of a detection unit (120), comprising: obtaining scan information (210) from the detection unit (120), the scan information (210) being a scan (120a) of a surface (130), the scan information (210) including information about a unique feature (220) of the surface (130), the unique feature (220) of the surface (130) including a plurality of sub-features (220-1, 220-2, 220-3, 310); extracting extraction information for the unique feature (220) from the scan information (210), wherein extracting the extraction information further comprises extracting a set of sub-extraction information (230, 240, 250, 320) for each sub-feature (220-1, 220-2, 220-3, 310) of the plurality of sub-features and determining a descriptor for each sub-feature (220-1, 220-2, 220-3, 310) as part of the set of sub-extraction information; determining a value from each set of sub-extracted information (230, 240, 250, 320), said value being related to the information content of said sub-feature associated with said set of sub-extracted information (230, 240, 250, 320); comparing each value with said information content thresholds (230-3, 240-3, 250-3, 330); selecting those sets of sub-extracted information whose associated sub-features (220-1, 220-2, 220-3, 310) reach at least the determined value of the threshold (230-3, 240-3, 250-3, 330) of the information content; performing a match with a database (270) based on the determined descriptors of the set of selected sub-extracted information, the database (270) storing descriptors of the sub-features (220-1, 220-2, 220-3, 310) of extracted information for a plurality of unique features of the surface (130) whose positions are known; determining the position of the detection unit (120) based on the matching.

24. A method for storing extracted information in a database (270) for use by an apparatus (100) according to any one of claims 1 to 21, comprising the steps of: acquiring scan information (210), the scan information (210) being a scan (120a) of a surface (130), the scan information (210) including information regarding a unique feature (220) of the surface (130), the unique feature (220) of the surface (130) including a plurality of sub-features (220-1, 220-2, 220-3, 310); extracting extraction information for the unique feature (220) from the scan information, where extracting the extraction information comprises extracting a set of sub-extraction information (230, 240, 250, 320) for each sub-feature (220-1, 220-2, 220-3, 310) of the plurality of sub-features and determining a descriptor for each sub-feature (220-1, 220-2, 220-3, 310) as part of the set of sub-extraction information; determining a value from each set of sub-extracted information (230, 240, 250, 320), said value being related to the information content of said sub-feature associated with said set of sub-extracted information (230, 240, 250, 320); comparing said value with said information content thresholds (230-3, 240-3, 250-3, 330); storing the extracted information of the unique feature (220) of the surface (130) in the database (270) provided that the determined value of the unique sub-feature reaches at least the information content threshold (230-3, 240-3, 250-3, 330).

25. A computer program comprising a program code for performing the method according to any one of claims 23 to 24, when the program is run on a computer.

Citation Information

Patent Citations

  • Movable body position detection system

    JP2010101807A

  • Location estimation device and location estimation method

    JP2016166853A