Method for thinning a SLAM graph, method for operating a mobile device, and mobile device

DE502022005439D1Active Publication Date: 2025-09-25ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502022005439
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-07-13
Filing Date
2022-07-01
Publication Date
2025-09-25
Estimated Expiration
2042-07-01

AI Technical Summary

Technical Problem

The increasing size of SLAM graphs due to constant node and edge additions leads to higher computing demands and potential accuracy loss, necessitating a method to thin the graph while maintaining map accuracy.

Method used

A method involving the removal of nodes and edges based on scale-invariant density and geometric measures, such as the scale-invariant density measure and n-Group condition, to reduce the SLAM graph size while preserving accuracy.

Benefits of technology

The method efficiently reduces the SLAM graph size without significantly impacting its accuracy, allowing for continuous operation with reduced computational load and maintaining map quality.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present invention relates to a method for thinning a SLAM graph used for operating a mobile device such as a household robot, a method for operating a mobile device, a computing unit and a computer program for carrying out the same, and a mobile device. Background of the invention

[0002] Mobile devices such as vacuum or floor-mopping robots or other household robots typically move around in an environment they are to be serviced, such as a home. One of the fundamental problems of such or other mobile devices is orientation, i.e., knowing what the environment looks like and where it is (absolutely). For this purpose, the mobile device is equipped with various sensors, such as ultrasonic sensors, cameras, or lidar sensors, which are used to capture the environment, for example, in two or three dimensions. This enables the mobile device to move locally, detect obstacles in a timely manner, and avoid them.

[0003] If the absolute position of the mobile device is also known, e.g., from additional GPS sensors, a map can be created. The mobile device measures the relative position of possible obstacles and, using its known position, can then determine the absolute position of the obstacles, which are then plotted on the map. However, this only works with externally provided position information.

[0004] SLAM ("Simultaneous Localization and Mapping") is a robotics technique in which a mobile device such as a robot can or must simultaneously create a map of its surroundings and estimate its spatial position within this map. It is used to detect obstacles and thus supports autonomous navigation.

[0005] From "EADE E ET AL, "Monocular graph SLAM with complexity reduction", INTELLIGENT ROBOTS AND SYSTEMS (IROS), 2010 IEEE / RSJ INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, (20101018), doi:10.1109 / IROS.2010.5649205, ISBN 978-1-4244-6674-0, pages 3017 - 3024, XP031920068" and "Lang Dagmar ET AL, "Semantic 3D Octree Maps based on Conditional Random Fields", (20130523), URL: http: / / www.mva-org.jp / Proceedings / 2013USB / papers / 08-03.pdf, (20210401), XP055792144 " SLAM graph-based concepts are known. Disclosure of the invention

[0006] According to the invention, a method for thinning a SLAM graph, a method for operating a mobile device, a computing unit and a computer program for implementing the method, and a mobile device having the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

[0007] The invention deals with the topic of SLAM and its application in mobile devices. A typical example of a mobile device is a household robot, such as a vacuum and / or floor-mopping robot. However, SLAM is also used in other types of robots, including drones and vehicles, if these are at least partially automated. SLAM, in turn, offers various approaches to displaying maps and positions. One approach that is also used in the context of the present invention is so-called graph-based SLAM. Here, the map is generated using a

[0008] A graph, also referred to as a SLAM graph, is represented as a graph with a large number of nodes and edges, where an edge typically connects two nodes. The endpoints of the edge thus lie on the nodes. In principle, however, there can also be edges that are connected to only one or more than two nodes. Once such a graph is created, the map can be calculated by finding the spatial configuration of the nodes, which largely matches the measurements modeled by the edges.

[0009] The nodes correspond to poses (position and orientation) of the mobile device, and the edges correspond to connections between them. There are different types of edges. An edge can be obtained from observations of the environment, e.g., by determining the direction of an identified obstacle. However, an edge can also be obtained from an (actual) movement of the mobile device, e.g., through odometry. After the mobile device has moved a certain distance, a new node can be added, for example, with environmental information being simultaneously recorded and stored. Such an edge will also be referred to as a movement edge.When the mobile device returns to a familiar environment (where environmental information has already been collected) after a prolonged stay in a previously unknown environment, an attempt can be made to link ("match") the previous environmental information with the current environmental information of the same environment. This involves two nodes or locations where environmental information is collected. If the linking (or matching) is successful, an edge can be formed between these two nodes. Such an edge is also referred to as a loop-closure edge, as it essentially closes a loop.

[0010] The mobile device is operated in such a way that environmental information is obtained, e.g., by a control unit of the mobile device, which is recorded in particular by one or more sensors such as video cameras, radar sensors, lidar sensors, laser rangefinders, ultrasonic sensors, inertial sensors, and / or odometers. This environmental information therefore includes, for example, video or camera data, distance information to obstacles, or distances traveled. Based on this environmental information and a current SLAM graph or a corresponding map, and e.g., by applying a suitable SLAM algorithm, a current pose or position and / or orientation of the mobile device is determined.

[0011] Based on this, control instructions for operating the mobile device can be determined or generated. These instructions can then be implemented by the mobile device or initially transmitted to it (if the calculations are performed outside the mobile device, e.g., on a computing system external to the device, e.g., in a so-called cloud). The control instructions can be determined, for example, within the framework of a control algorithm. This is repeated repeatedly, e.g., every 50 cm. In this way, the mobile device can, for example, perform its task, such as vacuuming, but also continually improve the map.

[0012] However, by constantly adding nodes and edges to the SLAM graph, it becomes larger and larger, meaning the amount of data increases and all calculations based on the SLAM graph require more computing power and / or more time.

[0013] One solution to this problem is to thin the SLAM graph, i.e., remove nodes and / or edges from it and thus reduce the amount of data. However, this leads to another problem: the accuracy of the map represented by the SLAM graph can sometimes be significantly reduced, or its information content can diminish. Against this background, we propose a way to thin a SLAM graph, reducing its size while maintaining the best possible accuracy.

[0014] For this purpose, the SLAM graph (as a data set containing the nodes and edges and, if applicable, further information) is obtained, e.g., directly in a computing unit or control unit of the mobile device or in an external computing unit. Nodes are then removed from the SLAM graph to obtain an updated SLAM graph (e.g., an updated data set); this is output, e.g., to a corresponding unit in the mobile device or there in the control unit. Removing a node involves determining the node from the multitude of nodes whose scale-invariant density of other nodes around this node is highest, and then removing the node determined in this way, whose density is highest, from the SLAM graph.

[0015] To limit the number of nodes within the SLAM graph, it is usually necessary to carefully remove nodes over time. Generally, at least two strategies can be considered for this. One strategy is to select and remove one or more nodes (also called "marginalization"). Another strategy is to select two or more nodes and merge them into one. In the case of SLAM based on lidar sensors, for example, the second strategy has the disadvantage that the lidar scans (environmental information) must be fused, and the position of the new node does not match the position where the lidar scans were originally acquired. This makes it impossible to easily track lidar beams in space (which led to the environmental information), which is important for certain algorithms.In addition, any other information that may be associated with the involved nodes must also be fused. Finally, the fused node is not necessarily part of the original trajectory and could, for example, be located in an impassable area (e.g., within an obstacle). For these reasons, it is advisable to use the first strategy.

[0016] At this point, the nodes to be removed must be determined. In general, the simultaneous removal of several nodes could be considered and a combined effect of this operation analyzed. However, this is difficult to analyze, so removing individual nodes is preferred. The node to be removed should be one that is of little importance for the overall mapping quality (i.e., the quality of the SLAM graph's representation of the map) and whose removal impacts the future performance of the SLAM algorithm as little as possible. Geometric or information-theoretic measures can be used to quantify the importance of a node.

[0017] Information-theoretic measures attempt to quantify the information contained in each node or the information of the associated laser scan (or, more generally, the acquired environmental information). It is advantageous to remove the node in such a way that the information loss is minimized. The main problem with this approach, however, is that the actual information within a scan is difficult to quantify. The information can be calculated based on the occupancy probabilities of cells in a probabilistic grid map. As has been shown, however this oneThis approach tends to consider scans with high noise, incorrect measurements, or poor alignment as highly informative, as they influence the probabilities within the raster map more than well-aligned, low-noise scans that agree well with other scans in the environment. Furthermore, calculating this information is very costly, as all points in scans within the range of the current node influence the result. This can be particularly problematic for long-range, high-resolution lidar sensors.

[0018] Therefore, geometric methods for removing nodes are preferably used. The basic idea is to consider the density of nodes and, in particular, to keep it below a certain threshold across the entire map. This means removing nodes at locations (in the surrounding area) where many nodes are concentrated in a small area. For this purpose, a novel density measure is proposed, which will be referred to as scale-invariant density.

[0019] A density for a node can be defined as the number of other nodes within a certain range around that node, e.g. within a certain radius around that node.

[0020] For v 1 , … , v n ∈ ℝ 2 , where vi ≠ vj for i ≠ j , for a radius r > 0 such a density for a node you be defined as follows: d r v i = # v j − v i < r : 1 ≤ j ≤ n , i ≠ j πr 2 where ∥.∥ denotes the Euclidean norm. This corresponds to the number (#) of nodes within a circle with radius r around the node you , but without this node itself.

[0021] However, this density strongly depends on the chosen value for the radius; for example, a large number of other nodes could lie just outside the chosen radius. This would significantly underdetermine the actual density for this node.

[0022] This is addressed by a scale-invariant density. This provides, for example, a measure for a node for simple densities determined over different radii (as above). This can be achieved, for example, by integrating the above-mentioned (simple) density over all r. The scale-invariant density d ( you ) for the node you is then given by: d v i = ∫ 0 ∞ d r v i dr

[0023] This scale-invariant density no longer depends on the choice of a specific value for the radius, thus avoiding any incorrect determination of densities for nodes. The integral represents, in a sense, an average over a large or infinite number of possible radii. It can also be shown that (at least for the present requirements) this representation is equivalent to the following: d v i = 1 π ∑ k = 1 n − 1 r k − 1

[0024] This makes calculating the scale-invariant density much faster and easier. Furthermore, this summation can be truncated to, for example, a specific number of adjacent nodes to a given node.

[0025] Preferably, so many nodes are removed in this way until the scale-invariant density for all nodes lies below a certain threshold, a density threshold. Alternatively or additionally, it is preferred if so many nodes are removed until a number of nodes in the SLAM graph lies below a certain threshold, a node threshold. In this case, however, it is expedient if this node threshold is specified as a function of a geometric size of an environment represented by the SLAM graph, e.g. is proportional to it. In this way, the desired number of remaining nodes can be twice as large if the area of ​​the environment is twice as large. The average density of nodes then does not depend on the size of the environment. However, it is also conceivable that both variants are combined, i.e. that both thresholds must be undercut.

[0026] It is also advantageous if a predetermined number of nodes recently added to the SLAM graph are not considered when removing nodes. These nodes are then, for example, already ignored when determining the node with the highest scale-invariant density and are therefore not removed. However, these recently added nodes should be considered when determining the scale-invariant density for other nodes; otherwise, for example, the desired maximum total number of nodes would not be reached. This can increase the robustness of the method.

[0027] Removing a node results in the edges that ended at the removed node no longer being defined. The graph essentially encodes a joint probability distribution of random variables represented by all nodes. Thus, removing a node corresponds to marginalization, or the removal of a random variable. Removing a node from the SLAM graph therefore preferably also involves linking the endpoints of edges defined by the removed node to another node. In other words, the nodes that were connected to the removed node via edges are reconnected.

[0028] To solve this problem, a so-called n -Group condition (also " nA "-ary constraint" can be defined between all nodes neighboring the removed node. These neighboring nodes could then, for example, be connected pairwise with edges (the previous edges would then be removed), but this leads to a high number of edges and is undesirable if the amount of data is to be reduced. As has been shown, one problem when dealing with the edges of the removed node is that false loop closure edges can arise, which have nothing to do with reality and the actual movement of the mobile device. While many algorithms can handle a small number of such false loop closure edges, too many are difficult to handle. As has been shown, another problem is that such false loop closure edges do not exhibit any greater uncertainty than true loop closure edges when an algorithm evaluates their information content.

[0029] If, in the above example, with the pairwise connection of the neighboring nodes, for example, one of n Edges of the removed node were wrong, result from pairwise connecting n · ( n - 1) / 2 new edges, of which n -1 are false. The ratio of false to real edges is thus 1 / n on 2 / n increased. If a (real) edge already existed where a new edge is created between two adjacent nodes, it would be replaced or merged with a new edge, resulting in an even worse ratio.

[0030] As shown, edges created by the movement of the mobile device, the aforementioned motion edges, are significantly more reliable and accurate than loop-closure edges, even when both edges have the same uncertainty. While, for example, the odometry for motion edges may drift slightly over time, such edges, unlike loop-closure edges, are generally not affected by outliers with large errors. Against this background, it is preferable to rely on (more reliable) motion edges or a motion chain (i.e., a chain of motion edges) when dealing with edges ending at a distant node rather than loop-closure edges or loop closures.

[0031] Another possibility would be to select such a neighboring node and connect all edges (or edge endpoints) that ended at the removed node to this selected node. This could, for example, minimize the sum of the lengths of the resulting or modified edges. However, this would not take into account the reliability of movement edges or movement chains. In contrast, as mentioned, the edges that ended at the removed node are still each connected to a different node, so that they end there, but not (at least not necessarily) all at the same node.

[0032] Rather, the node adjacent to the removed node at which an edge is now to end is preferably selected by moving the unconnected end point of the edge forwards or backwards along a movement chain until another node is reached. The movement chain specifies the (temporal) sequence of nodes along which the mobile device has moved. For each node, there is therefore a node created before and after the removed node in the movement chain. Starting from the removed node, the node created before and after the removed node is searched for, and the unconnected end point of the edge is linked to one of the two nodes. Advantageously, the node chosen is the one at which the resulting edge is the shortest, i.e. at which the length is the shortest, i.e. shorter than for other theoretically possible edges. In this way, the reliable movement edges orMovement chains are taken into account. This approach also involves two edges that are themselves part of the movement chain (i.e., they are movement edges). These two edges are replaced by a new edge between their remaining nodes.

[0033] This procedure, i.e., linking edge endpoints to new nodes, is ultimately the chaining of edges. There are typically three different ways to do this. Two edges can be linked, they can be combined, and an edge can be inverted. Two edges (one from node a to node b and one from node b to node c) are linked, for example, by creating a new edge from node a to node c in place of the two previous ones. Node b is the removed node. This can be done with the two edges that are part of the movement chain, as mentioned above. When combining two edges, for example, their constraints are combined by multiplying their two Gaussian distributions. Every edge has a certain uncertainty, which can be modeled, or is modeled, using a Gaussian distribution.

[0034] The Gaussian distribution describes the probability distribution of the edge's error. The error is usually the difference between the relative pose stored in the edge and the relative pose of the nodes connecting the edge. Inverting an edge can be done, for example, using a Lie algebra.

[0035] More details about these three possibilities and their application are described, for example, in "E. Eade, P. Fong, and ME Munich, "Monocular graph SLAM with complexity reduction," in Proc. IEEE / RSJ Int. Conf. Intelligent Robots and Systems, 2010, pp. 3017-3024." With this approach, the number of false loop-closure edges is essentially unchanged, since no loop-closure edges are newly created or deleted; instead, only the one node of the edge is changed. However, by combining edges, it can happen that several edges coincide. In the above example, the number of edges from n onn -1, the ratio of false to real edges then from 1 / n to 1 / ( n -1), so only slightly increased, but not doubled.

[0036] When combining two edges, they may contradict each other. This can be determined or discovered, for example, by considering the relative pose for both edges (a relative pose of an edge corresponds to a difference in the poses of the nodes at the endpoints of the edge) or by a Mahalonobis distance. If one of the two edges is a loop-closure edge and one is a motion edge, the loop-closure edge is removed. If both edges are loop-closure edges, both are removed. This is advantageous in that losing a true or correct loop-closure edge is usually better than creating a false loop-closure edge.

[0037] Although removing nodes can also remove associated edges from the SLAM graph, it is preferable to remove edges from the SLAM graph independently of removing a node. This is particularly useful in areas where the nodes are not particularly densely distributed. Removing nodes may also create new edges that can be removed in this way. In principle, however, edges can also be removed without removing any nodes (either because this is not applied in the first place, or because, for example, the density never exceeds the threshold), which can also reduce the size of the SLAM graph or its data volume, especially since the information contained in the edges is removed.

[0038] Removing an edge involves determining the node from among the many edges where the most edges end; this allows edges to be removed where their density is high. From the edges ending at this node, the edge to be removed is then selected based on a criterion. One possibility is to remove the edge with the smallest residual or the smallest chi-square error. However, this would retain edges with large errors, which are usually edges with high noise or false loop closure edges. A large error can mean that the edge is incorrect, but it can also mean that the current optimum of the graph optimization deviates significantly from the true optimum. If the edge is then removed, information that could have helped to find the "true" optimum is lost.

[0039] In contrast, it is more useful to determine the edge with the greatest covariance or the least information from among the edges ending at the specific node. The edge thus determined, i.e., the one with the least covariance or information, is then removed. The covariance or information of an edge, or a measure thereof, can be determined, for example, using the trace or the determinant of the associated matrix (covariance matrix or information matrix) of the edge. Using this information is preferred because it is somewhat simpler to calculate.

[0040] Ideally, (only) as many edges are removed from the SLAM graph, regardless of the removal of a node, until the number of edges ending at the same node is below a threshold, the so-called edge threshold, for all nodes. This way, not too many edges are removed, and a uniform distribution is achieved.

[0041] Removing edges generally carries the risk that important edges for the SLAM graph or map will also be removed, e.g., those that are important global loop closure edges; it could even split the entire SLAM graph. In this respect, it is useful if an edge is only removed (especially when removing edges independently of the removal of nodes) if a factor that specifies the ratio of the length of a shortest path not containing the edge between the two nodes at which the edge ends and the length of the edge lies below a threshold, a so-called factor threshold. While an edge specifies the shortest connection (a path) between two nodes (the length of the edge), a path between these two nodes inevitably results in a longer path after removing the edge, which, for example, leads via one or more additional nodes and corresponding edges.If this new path is then much longer than the removed edge, this indicates that the removed edge is an important edge or connection. In this context, such a factor threshold (which is necessarily greater than one and can, for example, be between two and five) can be introduced, but it should not be chosen too large.

[0042] Regardless, it is preferable to only remove an edge (especially when removing edges independently of removing nodes) if it is a loop-closure edge. This way, the moving edges are generally not removed; as already mentioned, these are generally very reliable. In particular, although the moving edges are counted when determining the number of edges per node, they are not removed.

[0043] Overall, the proposed approach allows a SLAM graph to be thinned particularly quickly and efficiently, so that its size (data volume) does not become too large. For example, thinning can be performed regularly, e.g., after each new addition of environmental information to a location (node), or even after several such additions. Essentially, the size of the SLAM graph or its data volume remains constant, regardless of the period over which data is added to the SLAM graph. This allows for lifelong SLAM. While the speed with which a SLAM algorithm processes such a SLAM graph remains high, the accuracy of the SLAM graph or the corresponding map is hardly reduced.

[0044] Furthermore, the invention relates to the operation of a mobile device, in particular a robot, wherein environmental information, which is detected in particular by means of one or more sensors, is obtained, and a current position and / or orientation (e.g., pose) of the mobile device is determined based on a current SLAM graph (or corresponding data representing this SLAM graph) or a corresponding map and the environmental information, e.g., by applying a suitable SLAM algorithm. Control instructions for operating the mobile device are then determined based on the current position and / or orientation and implemented by the mobile device.

[0045] Here, a previous SLAM graph can be used as the current SLAM graph, which has been thinned or updated according to the above procedure, e.g., after previously obtaining environmental information. Likewise, the current SLAM graph can then be expanded using the environmental information and then thinned according to the above procedure, for later use as the current SLAM graph.

[0046] A computing unit according to the invention, e.g. a control unit of a robot, is configured, in particular in terms of programming, to carry out a method according to the invention.

[0047] The invention also relates to a mobile device with such a computing unit (e.g., as a control unit) and one or more of the sensors mentioned above. The mobile device is preferably designed 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, as an at least partially automated vehicle, or as a drone.

[0048] The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is also advantageous, since this entails particularly low costs, in particular 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, and others. 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.).

[0049] Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

[0050] The invention is illustrated schematically in the drawing using an embodiment and is described below with reference to the drawing. Short description of the drawings

[0051] Figure 1a shows schematically a mobile device according to the invention in a preferred embodiment in an environment. Figure 1b shows schematically a sequence of a method according to the invention in a further preferred embodiment. Figure 1c shows schematically a sequence of a method according to the invention in a further preferred embodiment. Figures 2a and 2b show an environment with SLAM graph without and with thinning according to a method according to the invention in a preferred embodiment. Figures 3a to 3cshow an environment with SLAM graph without thinning, with thinning not according to the invention and with thinning according to a method according to the invention in a preferred embodiment. Figures 4a, 4b and 5a, 5b show durations of scans and a number of nodes in different environments when applying a method according to the invention in a preferred embodiment. Embodiment(s) of the invention

[0052] In Figure 1a1 schematically shows a mobile device 100 according to the invention in a preferred embodiment in an environment 200, e.g., a room. The mobile device 100 can, for example, be a robot vacuum cleaner with wheels 120, a computing unit 110 designed as a control unit, and a lidar sensor 130 with a field of view 132. For better illustration, the field of view 132 is chosen to be relatively small here; in practice, however, the field of view can also be up to 360° (e.g., but at least at least 180° or at least 270°); at 360°, the proposed method is even particularly efficient. The robot vacuum cleaner 100 is located on a surface of the room 200, which is delimited, e.g., by walls and has two obstacles 202.

[0053] Also shown as an example is a SLAM graph 210 with several nodes 220 and edges 230, each connecting two nodes. Each node 220 represents a location at which the robot vacuum cleaner acquires environmental information, e.g., using the lidar sensor 130, as well as the associated pose. Edges 230 here represent movement edges that result from traveling the path between two nodes and are acquired, e.g., using odometry.

[0054] In Figure 1b A schematic representation of a process according to the invention in a further preferred embodiment is shown, specifically for thinning a SLAM graph used to operate the mobile device. In step 150, the SLAM graph is obtained, e.g., as a data set. This includes the nodes with poses and associated environmental information, as well as the edges between the nodes. In addition to motion edges, the edges can also include loop closure edges.

[0055] In a step 152, nodes are then removed from the SLAM graph. Afterward, in a step 154, edges can be removed from the SLAM graph, independently of the removal of nodes.

[0056] Subsequently, in a step 156, an updated SLAM graph is output, e.g., again as a data set. Compared to the previously obtained SLAM graph, the removed nodes and edges are then missing, and some other or new edges may be added, as may occur when removing nodes. The updated SLAM graph obtained in this way can then be used to operate the mobile device, as will be described later with respect to Figure 1cwill be explained in more detail. For example, thinning can occur in an external processing unit, so that the SLAM graph is received from the mobile device and then updated and transmitted back to it. However, it can also occur in an internal processing unit, e.g., a control unit of the mobile device. In this case, the graph is received from, for example, an internal storage unit or transmitted to it.

[0057] Step 152, removing nodes, can involve removing one or more nodes. Removing a node also involves multiple steps. In step 160, the node with the highest scale-invariant density of other nodes around it is first determined from all the nodes. According to step 162, this determined node is then removed from the SLAM graph.

[0058] After the node is removed, in a step 164, the now unconnected endpoints of loop closure edges that ended at the removed node are each linked to a different node. The new node for each endpoint is selected by moving the unconnected endpoint forward or backward along a movement chain, with the selection being made depending on the length of the newly created edge. The two movement edges that were defined by the removed node can, as mentioned, be combined, for example. For example, two movement edges from a to b and from b to c then become one edge from a to c.

[0059] Steps 160, 162, and 164 are repeated, i.e., nodes are removed from the SLAM graph until the scale-invariant density of all nodes is below a density threshold. This can be determined, for example, in step 160 by determining the node with the highest scale-invariant density. Likewise, this can be repeated—as a termination criterion—until the (total) number of nodes in the SLAM graph is below a node threshold, where the node threshold is specified as a function of a geometric size of the environment represented by the SLAM graph.

[0060] Step 154, the removal of edges from the SLAM graph independently of the removal of nodes, involves first determining, in step 170, the node of the plurality of edges at which the most edges terminate. In step 172, the edge from these edges that exhibits the greatest covariance or contributes the least information to the graph is then determined. This edge is then removed in step 174. In particular, this can only be done if it is a loop-closure edge.

[0061] Steps 170, 172 and 174 are repeated, ie edges are removed from the SLAM graph until the number of edges bounded by a node is below an edge threshold for all nodes.

[0062] In Figure 1cA schematic representation of a process according to the invention in a further preferred embodiment, namely the operation of the mobile device, is shown. For this purpose, environmental information is first obtained in step 180, which is detected by one or more sensors, e.g., by means of the lidar sensor according to Figure 1a . This is sensor data.

[0063] In step 182, this environmental information is then fed to a SLAM algorithm in order to determine, in step 184, a current position and / or orientation of the mobile device based on a current SLAM graph or corresponding data and the environmental information, taking into account current odometry information.

[0064] In step 186, control instructions for operating the mobile device are determined based on the current position and / or orientation, for example, whether the robot vacuum cleaner should rotate, and if so, how much, how fast, and how far it should travel. In step 188, these control instructions are implemented by the mobile device.

[0065] As mentioned, in step 182, environmental information is fed into a SLAM algorithm. A current SLAM graph can be extended using this environmental information, ie, for example, a new node and a new edge are added. The data representing this extended SLAM graph are processed as described with respect to Figure 1bWith step 150, for example, the data is fed to an executing processing unit and retained there, and then thinned out with steps 152, 154 including steps 160, 162, 164 and 170, 172, 174. With step 156, the updated data is fed back to the SLAM algorithm for the next use.

[0066] In the Figures 2a and 2b is an environment 200 (similar to Figure 1a ), but each with a much more detailed SLAM graph with nodes 220 and edges 230. In Figure 2a a SLAM graph 210 is shown, such as is obtained, for example, during the operation of a mobile device without thinning over time, ie when new nodes and edges are constantly added without any being removed.

[0067] In Figure 2bIn contrast, a thinned SLAM graph 212 is shown for the same (realistic) environment, in which nodes and edges were removed from the SLAM graph 210 according to a preferred embodiment of the invention, as described above, for example. It is clearly visible that the density of nodes is reduced and, in particular, the nodes are very evenly distributed.

[0068] In Figures 3a to 3c is an environment with SLAM graph without thinning ( Figure 3a ), with non-inventive thinning ( Figure 3b ) and with thinning according to a method according to the invention in a preferred embodiment ( Figure 3c ) is shown.

[0069] The environment is exemplary and for easier explanation, see Figure 3a, a grid with regularly arranged nodes (in the form of a matrix), with edges connecting two adjacent nodes vertically and horizontally. In this case, the movement edges 234 run in a meandering pattern with long vertical straight lines. The additional horizontal edges 232 are loop closure edges.

[0070] The upper image shows the nodes and edges, while the lower image shows only the nodes with a hint of density. This density is initially relatively uniform but also very high (except at the edges).

[0071] In Figure 3b Now, nodes 220 and edges 232, 234 can be seen when the nodes to be removed are determined, for example, based on a simple density (with a fixed radius). It can be seen that the nodes remaining after removal are relatively unevenly distributed.

[0072] In Figure 3cNow, nodes 220 and edges 232, 234 can be seen when the nodes to be removed are determined based on the scale-invariant density proposed within the scope of the present invention. It can be seen that the nodes remaining after removal are distributed much more evenly than, for example, in Figure 3b This shows that using the scale-invariant density yields a significantly more accurate SLAM graph.

[0073] In the Figures 4a and 4b The durations t of scans are shown over the number s of the scan and the number # of nodes over the number k of a recording of a scan in a specific environment. Scans are typically performed at a specific frequency, e.g., 10 Hz. Each of these scans is in Figure 4aA scan includes the acquisition of environmental information, e.g., using a lidar sensor; the time shown also includes its processing, including entering nodes and optimizing the SLAM graph.

[0074] However, not all of these scans are usually used to enter a node or information into the SLAM graph; this occurs, for example, only at certain temporal or spatial intervals. Therefore, the number of numbers k in Figure 4b less than the number of numbers s in Figure 4a The number # of nodes above the number k of a recording process already includes the removal of nodes (this can, for example, have occurred between two recording processes). This is shown when applying a method according to the invention in preferred embodiments (V2, V3) for operating a device, including thinning the SLAM graph compared to a reference (V1).

[0075] The lines V1 each show the reference in which no thinning is carried out, the lines V2 show the application of a method according to the invention in a preferred embodiment in which relatively few or sparingly nodes and edges are removed, and the lines V3 show the application of a method according to the invention in a preferred embodiment in which relatively many or aggressively nodes and edges are removed.

[0076] In this case, Fig. 4a It can be seen that the time required for a scan increases progressively with the reference, while when applying the invention the increase is significantly smaller, especially when many nodes and edges are removed.

[0077] The number of nodes in Fig. 4b increases linearly in the reference, but significantly less when the invention is applied, especially when many nodes and edges are removed, and in particular also slowly reaches saturation.

[0078] It should be noted that the irregularities in the lines (zero points) were caused by relocalization after a new map run and therefore have no influence in practice.

[0079] In the Figures 5a and 5b The same comparison is shown for a different, larger environment; there the influence of the invention is even more clearly visible.

Claims

1. Computer-implemented method for thinning a SLAM graph (210) used to operate a mobile device (110) and having a multiplicity of nodes (220) and a multiplicity of edges (230, 232, 234), each of which ends with an end at a node (220), characterized in that the SLAM graph (210) is obtained (150) as a data set, nodes (220) are removed (152) from the SLAM graph (210) and then an updated SLAM graph (212) is output (156) as a data set, wherein the removal (152) of a node (220) comprises, in each case: - determining (160) the one of the multiplicity of nodes (220) whose scale-invariant density is highest at further nodes (220) around this node (220), wherein the scale-invariant density for a node (220) is a measure of simple densities determined over different ranges, wherein a simple density, in each case, indicates a density at further nodes (220) within a specific range around this node (220), and - removing (162) the determined node (220) whose density is highest from the SLAM graph (210).

2. Method according to Claim 1, wherein the removal (162) of the determined node (220) whose density is highest from the SLAM graph (210) additionally comprises: linking (164) a then unconnected end of an edge (232, 232, 234) that ended at the removed node (220) to another node (220).

3. Method according to Claim 2, wherein the one of the nodes adjacent to the removed node to which the unconnected end is linked is selected by moving the end forwards or backwards along a chain of motion of movement edges (234) until another node is reached; wherein, in particular, the node at which a length of the newly arising edge is shortest is selected.

4. Method according to Claim 2 or 3, wherein when linking (164) the end of one edge to another node (220) results in two edges being combined, a loop closure edge (232) is removed if it is inconsistent with a movement edge (234), and / or if both edges are loop closure edges then both are removed if they are inconsistent with one another.

5. Method according to one of the preceding claims, wherein the scale-invariant density for a node (220) is a measure of simple densities determined over different radii, wherein a simple density, in each case, indicates a density at further nodes (220) within a specific radius around this node (220).

6. Method according to one of the preceding claims, wherein nodes (220) are removed from the SLAM graph (210) until the scale-invariant density at all nodes (220) is below a density threshold value, and / or until a number of nodes (220) in the SLAM graph (210) is below a node threshold value, wherein the node threshold value is predefined in particular according to a geometric size of surroundings represented by the SLAM graph (210).

7. Method according to one of the preceding claims, wherein a predetermined number of nodes (220) last added to the SLAM graph (210) is not taken into account when removing (152) nodes.

8. Method according to one of the preceding claims, wherein furthermore, independently of a removal of a node, edges (230, 232) are removed from the SLAM graph (210), wherein the removal of an edge, in each case, comprises: - determining (170) the one of the multiplicity of nodes (220) at which most edges (230, 232, 234) end, - determining (172), from the edges ending at the determined node, that edge having the greatest covariance or the least information, and - removing (174) the determined edge.

9. Method according to Claim 8, wherein an edge is removed only if it is a loop closure edge (232).

10. Method according to Claim 8 or 9, wherein an edge is removed only if a factor indicating a ratio of a length of a shortest path not containing the edge between the two nodes at which the edge ends to a length of the edge is below a factor threshold.

11. Method according to one of Claims 8 to 10, wherein edges (230, 232) are removed from the SLAM graph (210), independently of a removal of a node, until a number of edges ending at the same node is below an edge threshold for all nodes (220).

12. Method for operating a mobile device (100), in particular a robot, comprising: - obtaining (180) surroundings information captured in particular by means of one or more sensors, - determining (184) a current position and / or orientation of the mobile device (100) on the basis of a current SLAM graph (210) and the surroundings information, - determining (186) control instructions for operating the mobile device on the basis of the current position and / or orientation, and - implementing (188) the control instructions by way of the mobile device (100), wherein an earlier SLAM graph, which has been thinned using a method according to one of the preceding claims, is used as the current SLAM graph (210), and / or wherein the current SLAM graph (210) is expanded using the surroundings information and then thinned using a method according to one of the preceding claims for later use as the current SLAM graph (212).

13. Method according to Claim 12, wherein the mobile device (100) used is a robot, in particular a domestic robot, e.g. a suction and / or wiper robot, a floor or road cleaning device or a lawnmower robot, an at least partially automated vehicle, or a drone.

14. Method according to Claim 12 or 13, wherein the surroundings information is captured by means of one or more sensors selected from: video cameras, radar sensors, lidar sensors (180), laser rangefinders, ultrasonic sensors, inertial sensors and odometers.

15. Computing unit (110) which is designed to carry out all of the method steps of a method according to one of the preceding claims.

16. Mobile device (100) comprising at least one sensor (180) for capturing surroundings information and a computing unit (110) according to Claim 15.

17. Mobile device (100) according to Claim 16, which is in the form of a robot, in particular a domestic robot, e.g. a suction and / or wiper robot, a floor or road cleaning device or a lawnmower robot, an at least partially automated vehicle, or a drone.

18. Computer program which causes a computing unit (110) to carry out all of the method steps of a method according to one of Claims 1 to 14 when it is executed on the computing unit (110).

19. Machine-readable storage medium comprising a computer program according to Claim 18 stored on it.