Method for refining a slam map, method for operating a mobile device, and mobile device
Patent Information
- Application Number
- CN202280049641.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-13
- Filing Date
- 2022-07-01
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-07-01
AI Technical Summary
这样的移动设备或还有其他移动设备的基本问题之一在于取向,即知道环境看起来如何以及所述设备(绝对地)位于哪里
Smart Images

Figure CN117651923B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for refining a SLAM map, a method for operating a mobile device, a computing unit and computer program for performing the method, and a mobile device, wherein the SLAM map is used to operate a mobile device such as a home robot. Background Technology
[0002] Mobile devices, such as vacuuming or scrubbing robots or other household robots, typically move within the environment to be processed, such as a living space. One of the fundamental problems with such mobile devices, or other mobile devices in general, lies in orientation—knowing how the environment looks and where the device is (absolutely) located. To address this, mobile devices are equipped with various sensors, such as ultrasonic sensors, cameras, or lidar sensors, which detect the environment in two or three dimensions. This allows the mobile device to move locally, promptly identifying and avoiding obstacles.
[0003] If the absolute location of the mobile device is known (e.g., from an attached GPS sensor), a map can be constructed. Here, the mobile device measures the relative position of potential obstacles with respect to the mobile device, and its known location can then be used to determine the absolute position of the obstacles, which is subsequently entered into the map. However, this only works if the location information is provided externally.
[0004] A method in robotics known as SLAM ("Simultaneous Localization and Mapping") involves mobile devices, such as robots, simultaneously creating a map of their environment and estimating their spatial orientation within that map. This method is then used to identify obstacles and thus assist in autonomous navigation. Summary of the Invention
[0005] According to the present invention, a method for refining SLAM maps, a method for operating a mobile device, a computing unit and computer program for performing the method, and a mobile device, having the features of the independent patent claims, are proposed. Advantageous designs are the subject matter of the dependent claims and the following description.
[0006] This invention discusses the subject of SLAM and its application in the context of mobile devices. A typical example of a mobile device is a household robot, such as a vacuuming and / or scrubbing robot. However, SLAM is also used in the case of other types of robots, drones, and vehicles (if said vehicles are at least partially automated). In the case of SLAM, there are various schemes for representing maps and locations. The scheme used within the scope of this invention is the so-called graph-based SLAM. Here, the map is represented according to a graph called a SLAM graph, which has a large number of nodes and a large number of edges, where edges typically connect two nodes respectively. Thus, the endpoints of the edges are located on the nodes. However, in principle, there can also be edges connecting only one node or connecting more than two nodes. Once such a graph is created, the map can be computed by finding the spatial configuration of the nodes, which largely corresponds to measurements modeled by the edges.
[0007] Here, nodes correspond to the pose (position and orientation) of the mobile device, and edges correspond to the connections between them. Different types of edges exist. Edges can be obtained from observations of the environment, for example, by determining the orientation of identified obstacles. However, edges can also be obtained from the (actual) movement of the mobile device, for example, through ranging. After a specific segment of the path the mobile device has moved, new nodes can then be added, for example, where environmental information is simultaneously detected and stored. Such edges should also be referred to below as motion edges. If the mobile device, after spending a considerable amount of time in an previously unknown environment, re-enters a known environment (where environmental information has already been detected), an attempt can be made to associate (“match”) earlier environmental information of the same environment with the current environmental information. There are two nodes or locations where environmental information is detected. If the association (or balancing) is successful, an edge can be formed between these two nodes. Such edges are also referred to below as loop-closed edges, because it can thus be said that the loop is closed.
[0008] The mobile device is operated such that environmental information is obtained, for example, through the control device of the mobile device. This environmental information is detected, particularly by means of one or more sensors, such as cameras, radar sensors, lidar sensors, laser rangefinders, ultrasonic sensors, inertial sensors, and / or odometers. This environmental information thus includes, for example, video or camera data, distance descriptions to obstacles, or traversed road segments. Based on this environmental information and the current SLAM map or corresponding map, and for example by applying a suitable SLAM algorithm, the current pose or position and / or orientation of the mobile device is determined.
[0009] Based on this, control instructions for operating the mobile device can then be determined or generated, which can then be implemented by the mobile device, or can be transmitted there first (if the computation is performed outside the mobile device, for example on an external computing system, such as in the so-called cloud). The control instructions can be determined, for example, within the scope of a control algorithm. This is repeated, for example, every 50 cm. In this way, the mobile device can perform tasks such as suction, but can also always further improve the map.
[0010] However, by continuously adding nodes and edges to the SLAM graph, the SLAM graph becomes larger and larger, meaning the amount of data becomes larger and all computations based on the SLAM graph require more computational efficiency and / or more time.
[0011] The solution to this problem is to refine the SLAM graph, i.e., remove nodes and / or edges, thereby reducing the amount of data. However, this leads to another problem: the accuracy of the map represented by the SLAM graph may sometimes be significantly reduced, or its informational content may be lost. In this context, the following possibility is proposed: refine the SLAM graph to reduce its size while maintaining the obtained accuracy as well as possible.
[0012] For this purpose, a SLAM graph (e.g., as a dataset, which thus contains nodes and edges, and other information as needed) is obtained, for example, directly in the computing or control unit of the mobile device or also in an external computing unit. Nodes are then removed from the SLAM graph to obtain an updated SLAM graph (i.e., an updated dataset); the updated SLAM graph is then output, for example, to the corresponding unit in the mobile device or control unit there. Here, node removal includes identifying nodes from a large number of nodes that have the highest scale-invariant density among the other nodes surrounding them, and removing the node with the highest density determined in this way from the SLAM graph.
[0013] To limit the number of nodes within a SLAM graph, it is often necessary to carefully remove nodes over time. Generally, at least two strategies are considered for this. One strategy is to select and remove one or more nodes (also known as "marginalization"). Another strategy is to select two or more nodes and merge them into one. In the case of LiDAR-based SLAM, the second strategy has the disadvantage, for example, that the LiDAR scans (environmental information) must be fused, and the location of the new node is inconsistent with the location where the LiDAR scan was initially recorded. Therefore, it is no longer possible to simply track the LiDAR beam in space (which has already generated environmental information), which is important for the particular algorithm. Furthermore, all other information that may be associated with the participating nodes must also be fused. Finally, the merged node is not necessarily part of the original trajectory and may, for example, be located in impassable areas (e.g., among obstacles). For these reasons, the first strategy is preferable.
[0014] Here, the nodes to be removed can then be determined. Generally, it might be considered to remove multiple nodes simultaneously and analyze the combinatorial effect of this operation. However, this is difficult to analyze, making the removal of individual nodes preferable. Nodes that are less important to the overall mapping quality (i.e., the quality of the map represented by the SLAM graph) should be selected for removal, and their removal should have as little impact as possible on the future performance of the SLAM algorithm. To quantify the importance of nodes, geometric or information-theoretic metrics can be used.
[0015] Information-theoretic metrics attempt to quantify the information contained in each node or the information of the laser scan to which it belongs (or, in general, the detected environmental information). Advantageously, removing nodes minimizes information loss. However, a major problem with this approach is that the actual information within the scan is almost impossible to quantify. Information can be calculated based on the occupancy probability of cells in a probabilistic grid map. However, as already shown, this approach tends to treat scans with high noise, erroneous measurements, or poor orientation as informational, because these scans influence the probabilities in the grid map more strongly than well-oriented scans with low noise that are consistent with other scans of the environment. Furthermore, calculating information is very costly because all points in the scan within the current node's region affect the results. This can be particularly problematic with lidar sensors that have long operating ranges and high resolutions.
[0016] Therefore, a geometric approach is preferred for node removal. The basic idea is to consider the density of nodes, and especially to keep that density below a certain threshold across the entire map, i.e., to remove nodes where many nodes are clustered in small areas (in the environment). To this end, a novel density metric is proposed, which is referred to below as scale-invariant density.
[0017] The density of a node can be defined as the number of other nodes within a specific region surrounding that node (e.g., within a specific radius surrounding that node).
[0018] for Where i≠j, v i ≠v j For radius r > 0, for node v i The density can be defined as follows:
[0019]
[0020] Where ||·|| represents the Euclidean norm. This corresponds to the Euclidean norm around node v. i The number of nodes inside a circle of radius r, but without the number of nodes themselves (#).
[0021] However, this density depends heavily on the chosen value for the radius; for example, a large number of other nodes may be located almost outside the chosen radius. Therefore, the actual density for that node will be significantly underdetermined.
[0022] This is addressed using scale-invariant density. This scale-invariant density, for example, describes a measure of a simple density (as above) determined for different radii over a node. For example, this can be done by integrating the aforementioned (simple) density over all r. For node v... i Scale-invariant density d(v) i Therefore, the following is given:
[0023]
[0024] This scale-invariant density no longer depends on the choice of a specific value for the radius, thus avoiding possible misdetermination of the density at the nodes. The integral represents, to some extent, the average of a large or infinite number of possible radii. Furthermore, it can be shown (at least for the current requirement) that this representation is equivalent to the following:
[0025]
[0026] This allows for significantly faster and simpler calculation of scale-invariant density. Furthermore, the summation can be truncated, for example, to a specific number of other nodes that are the most neighboring nodes of a particular node.
[0027] Preferably, so many nodes are removed in this manner until the scale-invariant density of all nodes falls below a specific threshold, i.e., a density threshold. Alternatively or additionally, it is advantageous to remove so many nodes until the number of nodes in the SLAM graph falls below a specific threshold, a node threshold. However, in this case, it is suitable if the node threshold is predetermined based on, for example, proportional to, the geometry of the environment represented by the SLAM graph. In the case of a twice-larger environment area, the expected number of remaining nodes can also be twice as large. The average node density then does not depend on the size of the environment. However, it is also conceivable to combine the two variations, i.e., to ensure that no more than two thresholds are exceeded.
[0028] Furthermore, it is advantageous to disregard the predetermined number of nodes last added to the SLAM graph when removing nodes. Thus, for example, when determining the nodes with the highest scale-invariant density, these nodes are not considered, and consequently, they are not removed. However, when determining the scale-invariant density for other nodes, these last added nodes should be considered; otherwise, for example, the desired maximum total number of nodes will not be achieved. In this way, the robustness of the method can be improved.
[0029] Removing a node causes those edges terminating at the removed node to become undefined. The graph essentially encodes the common probability distribution of the random variables represented by all the nodes. Therefore, removing a node corresponds to marginalizing or removing a random variable. Thus, preferably, removing a node from a SLAM graph additionally includes linking the endpoints of the edges already defined by the removed node to other nodes. In other words, the nodes thus connected to the removed node via edges are reconnected.
[0030] To address this issue, so-called n sets of conditions (also known as "n-ary constraints") can be defined between all nodes adjacent to the removed node. These adjacent nodes could then be connected in pairs using edges (then the previous edges would be removed). However, this results in a high number of edges, which is undesirable if data reduction is desired. As already shown, a problem with considering the edges of the removed node is the potential for erroneous cyclic closures, which are therefore irrelevant to realism and the actual movement of the mobile device. While many algorithms can account for a small number of such erroneous cyclic closures, an excessively large number is difficult to handle. Furthermore, as already shown, the problem is that such erroneous cyclic closures do not exhibit greater uncertainty than true cyclic closures when evaluated by the algorithm regarding their information content.
[0031] In the example above, which involves connecting adjacent nodes in pairs, if one of the n edges of the removed node was previously incorrect, connecting them in pairs results in n·(n-1) / 2 new edges, where n-1 are incorrect. Therefore, the ratio of incorrect edges to real edges increases from 1 / n to 2 / n. If a (real) edge already exists where a new edge is created between two adjacent nodes, that edge will be replaced or merged with the new edge, leading to an even worse ratio.
[0032] As already shown, even if two edges have the same uncertainty, edges arising from the motion of the mobile device (the so-called motion edges) are significantly more reliable or accurate than cyclic closed edges. While, for example, ranging methods for motion edges may drift slightly over time, unlike cyclic closed edges, such edges are generally unaffected by outliers with large errors. In this context, it is preferable to eliminate (more reliable) motion edges or chains of motion (i.e., chains of motion edges) when considering edges terminating at removed nodes compared to cyclic closed edges or loops.
[0033] One possibility is to select such an adjacent node and connect all edges (or endpoints of edges) terminating at the removed node to that selected node. Here, for example, the sum of the lengths of the resulting or altered edges can be minimized. However, the reliability of moving edges or moving chains would not be considered in this case. Conversely, as previously mentioned, although edges terminating at the removed node continue to be linked to other nodes individually, such that the edges terminate there, they do not (at least not necessarily) all end at the same node.
[0034] More precisely, the node to which the edge in the node adjacent to the removed node should now terminate is preferably selected by moving the unconnected endpoint of the edge back and forth along the motion chain until another node is reached. The motion chain describes a (temporal) sequence of nodes along which the mobile device moves. For each node, there are nodes that were generated before it in time and nodes that were generated after it in time on the motion chain. For example, starting from the removed node, one searches for nodes that were generated before it in time and nodes that were generated after it in time, and links the unconnected endpoint of the edge to one of the two nodes. It is appropriate to select the node from the two nodes where the resulting edge is the shortest, i.e., the smallest in length, i.e., smaller than in the case of other theoretically possible edges. In this way, a reliable motion edge or motion chain can be considered. In the case of this action, there are also two edges that are themselves part of the motion chain (i.e., therefore motion edges). These two edges are replaced by new edges between their remaining nodes.
[0035] In the case of this action, where the endpoints of an edge are linked to a new node, the final outcome is linking the edges. There are typically three different possibilities for this. Two edges can be linked, they can be combined, and one edge can be reversed. 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, instead of the two previously mentioned edges. Here, node b is the node that was removed. This can be done using two edges, which can be part of a motion chain, as mentioned above. When combining two edges, their conditions (“constraints”) are combined, for example, by multiplying them by two Gaussian distributions. Each edge has a certain uncertainty, which can be modeled or modeled, for example, by a Gaussian distribution. Here, the Gaussian distribution describes the probability distribution of the edge's error. The error here is typically the difference between the relative pose stored in the edge and the relative pose of the node to which the edge connects. For example, the reversal of the edge can be performed using Lie algebras.
[0036] For example, further details about these three possibilities and their applications are described in "E. Eade, P. Fong, and MEMunich, 'Monocular graph SLAM with complexity reduction,'" in Proc. IEEE / RSJ Int.Conf. Intelligent Robots and Systems, 2010, pp. 3017-3024. Because no new cyclic closures are generated or deleted, the number of erroneous cyclic closures remains essentially unchanged in this action; instead, only one node of the edge is changed. However, by combining edges, it is possible that multiple edges overlap. In the example above, the number of edges is reduced from n to n-1, and the ratio of erroneous to true edges is thus increased from 1 / n to 1 / (n-1), that is, only slightly increased, but not doubled.
[0037] When combining two edges, edge contradictions may occur. This can be determined or found, for example, by observing the relative poses of the two edges (the relative poses of the edges correspond to the difference in poses of the nodes at the endpoints of the edges) or by using Mahalanobis distance. If one of the two edges is a cyclic closed edge and the other is a moving edge, the cyclic closed edge is removed. If both edges are cyclic closed edges, both edges are removed. This is advantageous because losing a true or correct cyclic closed edge is generally better than generating an incorrect cyclic closed edge.
[0038] While edges associated with nodes can also be removed from the SLAM graph during node removal, it is preferable to remove edges independently of the removed nodes. This is particularly suitable in regions where nodes are not densely distributed. New edges may also be generated during node removal, and these new edges can be removed in this manner. However, in principle, edges can also be removed without any removed nodes (either because they are not used in the first place, or because, for example, the density is not above a threshold anywhere), thereby similarly reducing the size of the SLAM graph or its data volume, especially since the information contained in the edges is removed.
[0039] Here, edge removal involves identifying the node to which most edges among a large number of nodes terminate; thus, edges with high density can be removed. Edges to be removed can then be selected from those terminating at that node based on criteria. One possibility is to remove the edge with the lowest residual or the lowest chi-square error. However, edges with large errors will be retained; these are often noisy edges or erroneous closed loops. A large error might mean the edge is faulty, but it could also mean the current optimum of the graph optimization is significantly deviated from the true optimum. If the edge is subsequently removed, information that could have been used to find the "true" optimum may be lost.
[0040] In contrast, it is preferable to determine the edge with the largest covariance or the least information from the edges terminating at a particular node; then the edge determined in this way, i.e., the one with the lowest covariance or information, is removed. For example, the covariance or information of an edge, or a metric thereof, can be determined based on the trace or determinant of the matrix to which the edge belongs (covariance matrix or information matrix). Here, using information based on a slightly simpler calculation is preferred.
[0041] Appropriately, remove so many edges from the SLAM graph, regardless of the number of nodes removed, until the number of edges terminating at the same node is below a threshold, the so-called edge threshold, for all nodes. In this way, not too many edges are removed, and a uniform distribution is achieved.
[0042] Edge removal, in principle, conceals risks, meaning that edges important to the SLAM graph or map are also removed, such as important global loop closure edges; the entire SLAM graph can even be separated. In this regard, it is appropriate to remove an edge only if the factor representing the ratio of the length of the shortest path (excluding the edge) between the two nodes to which the edge terminates is below a threshold, i.e., a so-called factor threshold (especially when removing edges independently of the removed nodes). An edge represents the shortest connection (path) (edge length) between two nodes, and removing an edge forces a longer path between those two nodes, such as one or more other nodes and corresponding edges. If the new path is significantly longer than the removed edge, it indicates that the removed edge was an important edge or connection. In this context, a factor threshold can be introduced—which is forced to be greater than 1 and can be, for example, between 2 and 5—but the factor threshold should not be chosen too large.
[0043] In contrast, it is preferable to remove an edge only if it is a closed loop (especially when removing edges in isolation from the node being removed). Thus, moving edges are generally not removed; as already mentioned, these moving edges are usually quite reliable. In particular, although moving edges are counted together when determining the number of edges for each node, they are not removed.
[0044] Overall, the proposed action allows for particularly fast and efficient refinement of SLAM graphs without significantly increasing their size (data volume). Refinement can be performed regularly, such as after each re-addition of environmental information at a location (node) or even after multiple additions. Thus, the size of the SLAM graph or its data volume remains essentially constant, independent of the duration over which data is added to the SLAM graph. This allows for lifetime SLAM. SLAM algorithms can process such SLAM graphs at high speeds without significantly reducing the accuracy of the SLAM graph or its corresponding map.
[0045] Furthermore, the present invention relates to the operation of mobile devices, particularly robots, wherein the current position and / or orientation (e.g., pose) of the mobile device is determined, for example, by using a suitable SLAM algorithm, based on environmental information detected, particularly by means of one or more sensors, and on the current SLAM map (or corresponding data representing the SLAM map) or corresponding map and environmental information. Control commands for operating the mobile device are then determined based on the current position and / or orientation and implemented by the mobile device.
[0046] In this case, an earlier SLAM map, which has been refined or updated according to the actions described above, such as after previously acquiring environmental information, can now be used as the current SLAM map. Similarly, the current SLAM map can then be expanded using environmental information, and then refined according to the actions described above, and used later as the current SLAM map.
[0047] The computing unit according to the invention, such as the control device of a robot, is particularly configured in terms of programming technology to perform the method according to the invention.
[0048] The present invention further relates to a mobile device having such a computing unit (e.g., as a control device) and one or more of the sensors mentioned at the beginning. The mobile device is preferably constructed as a robot, especially as a household robot, such as a vacuuming and / or scrubbing robot, a floor or street cleaning device or a lawnmower robot, a vehicle or drone that is at least partially automated.
[0049] It is also advantageous to implement the method according to the invention in the form of a computer program or a computer program product having program code for performing all method steps, as this results in particularly low costs, especially when the execution control device is also used for other tasks and therefore already exists. Finally, a machine-readable storage medium is provided having the computer program as described above stored thereon. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical, and electrical storage devices, such as hard disks, flash memory, EEPROM, DVDs, etc. Downloading the program via a computer network (Internet, intranet, etc.) is also possible. Here, such downloading can be performed wired, cable-connected, or wirelessly (e.g., via WLAN networks, 3G, 4G, 5G, or 6G connections, etc.).
[0050] Other advantages and design solutions of the present invention will become apparent from the specification and the accompanying drawings.
[0051] The present invention is schematically illustrated in the accompanying drawings according to embodiments and is described below with reference to the accompanying drawings. Attached Figure Description
[0052] Figure 1a A mobile device according to the invention is illustrated schematically in a preferred embodiment in an environment.
[0053] Figure 1b The flow of the method according to the invention in another preferred embodiment is illustrated schematically.
[0054] Figure 1c The flow of the method according to the invention in another preferred embodiment is illustrated schematically.
[0055] Figure 2a and 2b An environment is shown with SLAM maps in the case of refinement according to the method of the invention without the preferred embodiment and in the case of refinement according to the method of the invention according to the preferred embodiment.
[0056] Figures 3a to 3c The environment is shown with SLAM maps in the case of no refinement, in the case of refinement without the invention, and in the case of refinement according to the method of the invention according to the preferred embodiment.
[0057] Figure 4a , 4b Figures 5a and 5b show the duration and number of nodes of the scan under different environmental conditions when using the method according to the invention in the preferred embodiment. Detailed Implementation
[0058] exist Figure 1a The diagram schematically illustrates a mobile device 100 according to the invention in a preferred embodiment within an environment 200 (e.g., a room). The mobile device 100 can be exemplarily a vacuum cleaner robot with wheels 120, a computing unit 110 configured as a control device, 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; however, in practice, the field of view can also be as high as 360° (but for example at least 180° or at least 270°); the proposed method is particularly efficient even at 360°. The vacuum cleaner robot 100 is situated on the foundation of the room 200, which is defined, for example, by walls and has two obstacles 202.
[0059] Furthermore, an SLAM graph 210 is exemplarily shown with nodes 220 and edges 230, each edge 230 connecting two nodes. Nodes 220 represent the location and pose of the vacuum cleaner robot, for example, detected by a LiDAR sensor 130, based on environmental information. Here, edges 230 represent motion edges derived from paths traversing between two nodes, and are detected, for example, by ranging.
[0060] exist Figure 1b The diagram schematically illustrates the flow of a method according to the invention in another preferred embodiment, namely for refining a SLAM graph used to run a mobile device. In this case, in step 150, a SLAM graph is obtained, for example, as a dataset. The SLAM graph includes nodes with pose and associated environmental information, as well as edges between the nodes. In addition to motion edges, edges may also include cyclic closed edges.
[0061] In step 152, nodes are then removed from the SLAM graph. Afterwards, in step 154, edges can be removed from the SLAM graph, independent of the node removal.
[0062] Subsequently, in step 156, the updated SLAM graph is output, for example, again as the dataset. Compared to the previously obtained SLAM graph, it now lacks the nodes and edges that were removed, and some additional or new edges can be added if necessary, as might have been obtained during node removal. The updated SLAM graph obtained in this way can then be used to run on mobile devices, as should be referenced later. Figure 1c To elaborate further. For example, refinement can be performed in an external computing unit, where the SLAM map is obtained from the mobile device and then transmitted there again in an updated manner. However, this can also be performed in an internal computing unit, such as the control unit of the mobile device. The map is then obtained or transmitted there, for example, from an internal storage unit.
[0063] Step 152, namely removing a node, may include removing one or more nodes. Here, node removal again includes multiple steps. In step 160, a node is first identified from all nodes that has the highest scale-invariant density among the other nodes surrounding it. Following step 162, this identified node is then removed from the SLAM graph.
[0064] After removing a node, in step 164, the currently unconnected endpoints of the loop-closed edge terminating at the removed node are linked to different nodes. Here, a new node is selected for each endpoint by moving the unconnected endpoint back and forth along the motion chain, where the selection is based on the length of the newly formed edge. For example, as mentioned, two motion edges defined by the removed node can be combined. Thus, for example, two motion edges from a to b and from b to c become an edge from a to c.
[0065] Steps 160, 162, and 164 are repeated continuously, removing or eliminating as many nodes as possible from the SLAM graph until the scale-invariant density is below a density threshold for all nodes. This can be determined, for example, at step 160, by identifying the node with the highest scale-invariant density. Similarly, this can be repeated in the sense of a termination criterion until the (total) number of nodes in the SLAM graph is below a node threshold, which is predetermined based on the geometry of the environment represented by the SLAM graph.
[0066] Step 154, which removes edges from the SLAM graph independently of removing nodes, involves: First, in step 170, identifying the node to which most edges among a large number of nodes terminate. Then, in step 172, identifying from these edges the one with the largest covariance or contributing the least information to the graph. This edge is then removed in step 174. In particular, this can only be done when cyclic closed edges are involved.
[0067] Repeat steps 170, 172, and 174, i.e., keep removing or removing so many edges from the SLAM graph, until the number of edges that the node limit is below the edge threshold in the case of all nodes.
[0068] exist Figure 1c The diagram schematically illustrates the flow of the method according to the invention in another preferred embodiment, namely, operating a mobile device. For this purpose, in step 180, environmental information is first obtained by means of one or more sensors, for example, by means of... Figure 1a The LiDAR sensor is used for detection. This is thus sensor data.
[0069] In step 182, this environmental information is then fed into the SLAM algorithm so that in step 184, the current location and / or orientation of the mobile device can be determined based on the current SLAM map or the corresponding data and environmental information, taking into account the current ranging information.
[0070] In step 186, control commands for operating the mobile device are then determined based on the current position and / or orientation; for example, whether the vacuum cleaner robot should rotate, and if so, how powerfully, quickly, and how far the vacuum cleaner robot should travel. In step 188, these control commands are implemented by the mobile device.
[0071] As mentioned, in step 182, environmental information is fed into the SLAM algorithm. Here, the current SLAM graph can be expanded using this environmental information, for example, by adding new nodes and new edges. (See reference...) Figure 1b The data representing the expanded SLAM graph is fed to the executing computational unit using step 150 and is obtained there, and then refined using steps 152, 154, including steps 160, 162, 164 and 170, 172, 174. Using step 156, the thus updated data is fed back to the SLAM algorithm for future use.
[0072] exist Figure 2a and 2b The images show environment 200 (and) Figure 1a Similar to (in the example), but with significantly more detailed SLAM graphs, each with nodes 220 and edges 230. Figure 2aThe diagram 210 shows, for example, a SLAM graph obtained over time without refinement within the scope of a running mobile device, i.e., when new nodes and edges are continuously added without removing the nodes and edges.
[0073] And in Figure 2b The image shows a refined SLAM graph 212 for the same (faithful to reality) environment, in which nodes and edges have been removed from SLAM graph 210 as described above, according to the method of the invention in the preferred embodiment. It can be clearly seen here that the node density is reduced, and the nodes are distributed very evenly, in particular.
[0074] exist Figures 3a to 3c The figures show the cases without refinement ( Figure 3a Without further refinement according to the present invention ( Figure 3b ) and in the case of refinement according to the method of the invention in the preferred embodiment ( Figure 3c An environment with SLAM maps.
[0075] For example, and for simplicity of explanation, see [link to relevant documentation]. Figure 3a The environment is a grid with regularly arranged nodes (in matrix form), where edges connect two adjacent nodes vertically and horizontally, respectively. Currently, the moving edge 234 extends in a zigzag pattern along a long vertical straight line. The additional horizontal edge 232 is a loop-closed edge.
[0076] The diagram above shows nodes and edges, while the diagram below only shows nodes with the indicated density. This density is initially relatively uniform, but is also very high (except at the edges).
[0077] exist Figure 3b If, for example, the nodes to be removed are determined based on simple density (with a fixed radius), then we can now see nodes 220 and edges 232 and 234. Here, it can be seen that the remaining nodes are distributed relatively inconsistently after removal.
[0078] exist Figure 3c In this context, if the nodes to be removed are determined based on the scale-invariant density proposed within the scope of this invention, then nodes 220 and edges 232 and 234 can now be seen. It can be seen here that after removing the remaining nodes, and for example in… Figure 3b The distribution is significantly more uniform compared to the previous situation. This indicates that using scale-invariant density provides a significantly more accurate SLAM map.
[0079] exist Figure 4a and 4bThe diagram shows the scan duration t for the number of scans s and the number of nodes # for the number of recording processes k in a specific environment. Scans are typically performed at a specific frequency (e.g., 10 Hz). Each of these scans is contained within... Figure 4a In this context, scanning includes, for example, detecting environmental information using a lidar sensor, and the displayed duration also includes its processing, including node entry and SLAM map optimization.
[0080] However, not all of these scans are typically used to input nodes or information into the SLAM graph; this is done, for example, only at certain temporal or spatial intervals. Therefore, Figure 4b The number of k in the middle is less than Figure 4a The number of nodes in the record process k. In the case of the number of nodes # in the record process k, this already includes removing nodes again (this may happen, for example, between two record processes). This is shown in the case where the device is operated according to the method of the invention in the preferred embodiments (V2, V3), including refining the SLAM map compared to the reference (V1).
[0081] Here, line V1 shows references that are not detailed, line V2 shows the application of the method according to the invention in the preferred embodiment, wherein nodes and edges are removed relatively few or economically, and line V3 shows the application of the method according to the invention in the preferred embodiment, wherein nodes and edges are removed relatively many or aggressively.
[0082] Here, in Figure 4a As can be seen, the time required for scanning increases significantly under the reference condition, while the increase is significantly smaller when applying the present invention, especially when removing many nodes and edges.
[0083] Figure 4b The number of nodes in the reference increases linearly, but is significantly smaller when the present invention is applied, especially when many nodes and edges are removed, and also slowly enters saturation.
[0084] It should be noted that the irregularities in the line (zero point) are formed due to repositioning after traversing the new map, and therefore have no actual impact.
[0085] exist Figure 5a and 5b The same comparisons are shown for different, and larger, environments; there, the effects of the invention are more clearly and strongly visible.
Claims
1. A method for refining a SLAM graph (210) used to run a mobile device (100) and the SLAM graph having a large number of nodes (220) and a large number of edges (230, 232, 234), the edges terminating at endpoints of nodes (220), The process involves obtaining (150) the SLAM graph (210), removing (152) nodes (220) from the SLAM graph (210), and then outputting (156) an updated SLAM graph, wherein the removal of (152) nodes (220) includes: - Identify the following nodes among the large number of nodes (220) (160): nodes whose scale-invariant density is highest at other nodes (220) surrounding that node (220), and - Remove (162) the identified node (220) with the highest density from the SLAM graph (210).
2. The method of claim 1, wherein removing (162) the identified node (220) with the highest density from the SLAM map (210) additionally includes: Link the unconnected endpoint of the edge that terminates at the removed node (220) to another node (220) (164).
3. The method of claim 2, wherein the node to which the unconnected endpoint is linked is selected from the nodes adjacent to the removed node by moving the endpoint back and forth along a motion chain consisting of motion edges (234) until another node is reached.
4. The method of claim 3, wherein the node with the smallest length of the newly formed edge is selected.
5. The method according to any one of claims 1 to 4, wherein when the endpoint of an edge is linked (164) to another node (220), the two edges are combined, and if the cyclic closed edge (232) contradicts the moving edge (234), the cyclic closed edge is removed, and / or if the two edges are cyclic closed edges, the two edges are removed when the two edges contradict each other.
6. The method according to any one of claims 1 to 4, wherein the scale-invariant density of the node (220) is a measure of simple density determined at different radii, wherein the simple density describes the density at other nodes (220) within a specific radius surrounding the node (220).
7. The method according to any one of claims 1 to 4, wherein so many nodes (220) are removed from the SLAM graph (210) until the scale-invariant density is below a density threshold in all nodes (220) and / or until multiple nodes (220) in the SLAM graph (210) are below a node threshold.
8. The method of claim 7, wherein the node threshold is given in advance based on the geometry of the environment represented by the SLAM graph (210).
9. The method according to any one of claims 1 to 4, wherein when removing (152) nodes, the number of nodes (220) last added to the SLAM graph (210) is not taken into account.
10. The method according to any one of claims 1 to 4, wherein edges are removed from the SLAM graph (210) independently of removing nodes, wherein removing edges comprises: - Determine the node to which most edges (230, 232, 234) in a large number of nodes (220) (170) terminate. -From the edges terminating at the determined node, determine (172) the edge with the maximum covariance or minimum information, and - Remove the edge determined by (174).
11. The method of claim 10, wherein the edge is removed only if it is a cyclic closed edge (232).
12. The method of claim 10, wherein the edge is removed only when a factor indicating a ratio is below a factor threshold, the ratio being the ratio of the length of the shortest path between the two nodes to which the edge terminates, excluding the edge, to the length of the edge.
13. The method of claim 10, wherein so many edges are removed from the SLAM graph (210) regardless of the removal of nodes, until multiple edges terminating at the same node in the case of all nodes (220) are below an edge threshold.
14. A method for operating a mobile device (100), the method comprising: - Obtain (180) environmental information, - Based on the current SLAM map (210) and the environmental information, determine (184) the current position and / or orientation of the mobile device (100). - Based on the current location and / or orientation, determine (186) control instructions for operating the mobile device, and - The control command (188) is implemented by the mobile device (100). The earlier SLAM map, refined according to the method according to any one of the preceding claims, is used as the current SLAM map (210), and / or The current SLAM map (210) is expanded using the environmental information and then refined according to the method according to any one of the preceding claims for later use as the current SLAM map.
15. The method of claim 14, wherein the mobile device (100) is a robot.
16. The method of claim 14 or 15, wherein a robot, at least partially automated vehicle, or drone is used as a mobile device (100).
17. The method of claim 16, wherein the robot comprises a home robot.
18. The method of claim 17, wherein the home robot comprises a suction and / or scrubbing robot, a floor or street cleaning device, or a lawnmower robot.
19. The method according to 14 or 15, wherein the environmental information is detected by means of one or more sensors selected from: a camera, a radar sensor, a laser rangefinder, an ultrasonic sensor, an inertial sensor, and an odometer.
20. The method of claim 19, wherein the radar sensor comprises a lidar sensor.
21. The method of claim 14, wherein the environmental information is detected by means of one or more sensors.
22. A computing unit (110) configured to perform all method steps of the method according to any one of claims 1 to 21.
23. A mobile device (100) having at least one sensor for detecting environmental information and a computing unit (110) according to claim 22.
24. The mobile device (100) according to claim 23, wherein the mobile device is configured as a robot, at least partially automated vehicle, or drone.
25. The mobile device (100) according to claim 24, wherein the robot includes a home robot.
26. The mobile device (100) of claim 25, wherein the home robot includes a suction and / or scrubbing robot, a floor or street cleaning device, or a lawn mowing robot.
27. A computer program product having a computer program, wherein when the computer program is executed on a computing unit (110), the computer program causes the computing unit (110) to perform all method steps of the method according to any one of claims 1 to 21.
28. A machine-readable storage medium having a computer program stored thereon, which, when executed on a computing unit (110), causes the computing unit (110) to perform all the method steps of the method according to any one of claims 1 to 21.
Citation Information
Patent Citations
Systems and methods for vslam optimization
US20120121161A1
Robot control system and method for planning driving path of robot
US20170120448A1