Indoor environment map updating method and device, storage medium and indoor robot

By using base map initialization and keyframe matching in an indoor environment, the robot autonomously updates its map, solving the problem of unstable updates in existing technologies. This achieves efficient and robust map updates, ensuring stable positioning of the robot over long periods.

CN114757990BActive Publication Date: 2025-12-12CHANGSHA XINGSHEN INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210253045.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-15
Publication Date
2025-12-12
Estimated Expiration
2042-03-15

AI Technical Summary

Technical Problem

Existing indoor environment map update methods struggle to balance update accuracy, efficiency, stability, and robustness, leading to robot positioning failures.

Method used

The system initializes the map by loading the base map currently used for positioning, matches new keyframes and inserts them into the current map, deletes old keyframes that meet preset conditions, and uses the matching results of keyframes and base map and positioning results as constraints to automatically update the map and maintain the structural consistency and stability of the map.

Benefits of technology

It enables autonomous updating of indoor environment maps, improves the robustness and stability of updates, ensures the robot's long-term positioning accuracy, avoids the infinite increase in the number of keyframes, and keeps the map updated with the latest environmental conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114757990B_ABST
    Figure CN114757990B_ABST
Patent Text Reader

Abstract

The application discloses an indoor environment map updating method and device, a storage medium and an indoor robot. The method comprises the following steps: S01, loading a base map used for current positioning and performing positioning initialization, determining an initialization position point, and acquiring a key frame in the current base map; S02, acquiring a current positioning result, connecting the first acquired key frame with a nearest key frame in the base map, and inserting the first acquired key frame into a current map; S03, when a new key frame is acquired by positioning, connecting the new key frame with a last key frame in the current map, using a registration result between the key frames and a positioning result as a constraint, and deleting a corresponding old key frame when the new key frame meets a preset condition compared with the old key frame; and S04, when the base map needs to be updated, loading a current updated map as a base map, returning to step S02 after positioning initialization. The application has the advantages of high updating efficiency and precision, strong robustness, and the ability to maintain long-time positioning stability.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of indoor robots, and in particular to an indoor environment map updating method and device, a storage medium and an indoor robot. BACKGROUND

[0002] The premise for the stable operation of an indoor robot is that the internal positioning module can operate well, and the premise for the stable operation of the positioning module is that the robot has a map of the corresponding area, that is, the map is the key to ensuring the stable operation of the indoor robot. The collection of the map is usually achieved in a manner of manually collecting data before the robot operates, and then constructing a map. After the map construction is completed, the map is fixed and unchangeable. However, in a real indoor environment, the indoor environment will change due to the movement of objects and other reasons. After the indoor environment changes, if the map is not adjusted accordingly, the robot will easily fail to position and cannot operate. Therefore, automatic updating of the map after the mapping is completed is a key problem to keep the robot positioning well.

[0003] For the updating of the map, the existing technology usually adopts a method of comparing and updating fusion at a fixed time, that is, comparing the current environment with the previous map environment at a fixed time, and fusing the two maps when a large change is found. However, this method is only suitable for cases where positioning is not ambiguous. For cases where positioning is ambiguous (poor positioning but high positioning score), since the positioning is wrong but the score is high, the map updating module will replace the old map at this position with the new map with wrong positioning, resulting in a disordered map. Therefore, the updating accuracy of this updating method is not high.

[0004] Chinese patent application CN113624222A discloses a map updating method, a robot and a readable storage medium. The scheme processes each first key frame by using each first key frame collected when the robot moves and each second key frame in the initial map, so that the obtained optimized first key frame is more accurate, and the more accurate purpose of updating the initial map is achieved. The first constraint and the second constraint between the key frames are processed by introducing a graph optimization algorithm to obtain the optimized pose of each new key frame for map updating. However, the scheme still has the following problems:

[0005] 1. It is complex to implement and has low update efficiency. It requires a large number of keyframe optimization operations and matching between the new keyframe KF (short for Keyframe, which means mapping keyframe) and the base map keyframe KF. If the new keyframe KF and the base map keyframe KF do not match, the second constraint cannot be added, resulting in update failure. In addition, since it is necessary to match between keyframes, that is, to project the radar data of i-frame onto i-1 frame through the predicted pose to obtain the matching pose, the amount of keyframe data is small, and matching failure is easy to occur, resulting in poor robustness. Furthermore, it can only obtain the displacement of the preceding and following frames.

[0006] 2. The map update module is updated by continuously adding new keyframes. When the map update module runs for a long time, the keyframe (KF) information of the map will increase indefinitely, and the number of map optimization nodes will also increase. Eventually, the map module will not be able to run properly and thus cannot maintain long-term positioning stability.

[0007] In summary, existing map update methods struggle to balance update accuracy, efficiency, stability, and robustness. Therefore, there is an urgent need to provide an indoor environment map update method that can ensure update efficiency and accuracy while also maintaining update stability and robustness. Summary of the Invention

[0008] The technical problem to be solved by the present invention is: in view of the technical problems existing in the prior art, the present invention provides an indoor environment map updating method, device, storage medium and indoor robot, which can realize autonomous map updating in indoor environment, with high updating efficiency and accuracy, strong robustness, and can help maintain long-term positioning stability.

[0009] To solve the above-mentioned technical problems, the technical solution proposed by this invention is as follows:

[0010] An indoor environment map updating method, comprising the following steps:

[0011] S01. Load the base map used for current positioning and perform positioning initialization. Match the base map with the newly acquired keyframes. After determining the initialization position point, acquire all keyframes and corresponding constraint information in the current base map.

[0012] S02. Obtain the current positioning result, and connect the first keyframe obtained with the nearest keyframe in the base map based on the keyframes and constraint information of the current base map, and insert it into the current map;

[0013] S03. When a new key frame is obtained, connecting the new key frame with the last key frame in the current map according to the key frames of the current base map and the constraint information, and using the registration result between the new key frame and the last key frame and the positioning result obtained by adding the current new key frame as a constraint, deleting a specified old key frame when the new key frame meets a preset condition compared with the old key frame;

[0014] S04. Determining whether the base map needs to be updated, if yes, loading the current updated map as the base map, re-performing positioning initialization and returning to step S02 for updating, otherwise returning to step S03.

[0015] Further, after step S01 and before step S02, there is also a step of fixing the key frames of the base map.

[0016] Further, in step S02, the first key frame obtained by the current positioning is connected with the nearest key frame in the base map, and the first key frame is inserted into the current map as a last factor node.

[0017] Further, in step S03, the registration result is the relative pose obtained by registration between the new key frame and the last key frame, the relative pose obtained by registration between the new key frame and the last key frame is used as a first constraint edge between the current node and the last node, and the positioning result obtained by adding the current new key frame is used as a second constraint edge between the current node and the last node.

[0018] Further, in step S03, if it is determined that the key frame to be deleted is a factor of the base map, the key frame to be deleted is deleted, and the pose of the key frame to be deleted is used as a last factor node of the new key frame.

[0019] Further, before step S01, there is also a map construction step, which includes:

[0020] Scanning the target environment, constructing a grid map based on laser point cloud, generating key frames in the mapping process and outputting;

[0021] Performing back-end loop detection to adjust the pose of the key frame KF;

[0022] Using the key frame KF to construct a base map for positioning.

[0023] Further, the back-end loop detection includes: comparing the radar data of the key frame obtained in the mapping process with the radar data of the historical key frame, judging whether the current detection position returns to the historical position according to the comparison result, and if yes, adding a preset loop constraint to adjust the pose of the current key frame KF.

[0024] An indoor environment map updating device, comprising:

[0025] A positioning initialization module, configured to load a base map used in current positioning and perform positioning initialization, match the base map with a new key frame obtained, and determine an initial position point and then obtain all key frames in the current base map and corresponding constraint information;

[0026] A first positioning updating module, configured to obtain a current positioning result, connect a first key frame obtained with a nearest key frame in the base map according to the key frames and constraint information of the current base map, and insert the first key frame into the current map;

[0027] A second positioning updating module, configured to, when a new key frame is obtained, connect the new key frame with a last key frame in the current map according to the key frames and constraint information of the current base map, use a registration result between the new key frame and the last key frame and a positioning result obtained by adding the new key frame as a constraint, and delete a specified old key frame when the new key frame meets a preset condition compared with the old key frame;

[0028] An updating control module, configured to judge whether the base map needs to be updated, load the current updated map as the base map when the base map needs to be updated, perform positioning initialization again and then return to execute the first positioning updating module to perform updating, or return to execute the second positioning updating module.

[0029] A computer readable storage medium storing a computer program, the computer program being executed to implement the method.

[0030] An indoor robot, comprising a robot body, a positioning module, a processor and a memory, the positioning module being connected to the processor, the memory being configured to store a computer program, the processor being configured to execute the computer program, the processor being configured to receive a positioning result output by the positioning module and execute the computer program to implement the method.

[0031] Compared with the prior art, the method has the following advantages:

[0032] 1、The indoor robot can be applied to realize the autonomous update of the indoor environment positioning map, and the specified old key frame is deleted when the new key frame KF meets the preset condition compared with the old key frame KF in the update process, the latest key frame KF can be kept all the time, the accumulation of key frames and graph nodes with time is avoided, the positioning stability of the robot for a long time is maintained, the matching of the key frame KF and the base map is realized in the positioning initialization process, the robustness of the update can be improved, the automatic update can be kept without setting the update threshold, so that the map can be kept in the latest environment state all the time, the registration result and the positioning result between the key frames are added as constraint conditions in the update process of the new key frame KF, and the structure of the overall map after the update can also be ensured not to change.

[0033] 2、The key frame of the base map is fixed when the key frame of the base map is input into the graph, so that the position of the key frame is fixed and unchanged, so that the overall structure of the map can also not change after continuous update.

[0034] 3、The front-end constraint is added between the key frames, the continuity of positioning can be ensured, the key frames are continuous and do not change suddenly, so that the positioning does not jump; the positioning result is used as the base map constraint and connected to the base map, so that the structure of the overall map after the update can also be ensured not to change. BRIEF DESCRIPTION OF DRAWINGS

[0035] Figure 1 It is the implementation flowchart of the indoor environment map update method of the embodiment.

[0036] Figure 2 It is the detailed flowchart of the indoor environment map update in the embodiment.

[0037] Figure 3 It is the implementation flowchart of the map construction in the embodiment.

[0038] Figure 4 It is the principle diagram of the key frame deletion in the specific application embodiment of the application.

[0039] Figure 5 It is the principle diagram of the map update process in the positioning process in the specific application embodiment of the application.

[0040] Figure 6 It is the principle diagram of the map update process and the base map connection in the positioning process in the specific application embodiment of the application. DETAILED DESCRIPTION

[0041] The application is further described below in combination with the drawings of the specification and the specific preferred embodiments, but the protection scope of the application is not limited thereto.

[0042] As Figure 1 , 2 shown, the steps of the indoor environment map updating method of the embodiment include:

[0043] S01. Load the base map used for current positioning and perform positioning initialization, the base map is the basic data of the map, match the obtained new key frame with the base map, determine the initialization position point, and then obtain all key frames KF in the current base map and the corresponding constraints;

[0044] S02. Obtain the current positioning result, connect the first key frame KF obtained with the nearest key frame KF in the base map according to the key frames and constraint information of the current base map, and insert it into the current map;

[0045] S03. When a new key frame KF is obtained, connect the new key frame with the last key frame KF in the current map, and use the registration result and positioning result of the front key frame as constraints. When the new key frame KF meets the preset condition compared with the old key frame KF, delete the specified old key frame;

[0046] S04. Determine whether the base map needs to be updated. If yes, load the current updated map as the base map, re-perform positioning initialization, and return to step S02 for updating. Otherwise, return to execute the second positioning updating module.

[0047] Through the above steps, the base map is loaded, combined with positioning initialization, first frame KF determination, and new key frame insertion and connection, without human intervention, the indoor environment positioning map of the indoor robot can be updated autonomously, and when the new key frame KF meets the preset condition compared with the old key frame KF (i.e. the existing historical key frame KF in the map), the specified old key frame is deleted, which can always use the latest key frame KF, avoid the accumulation of key frames and graph nodes over time, and thus the number of key frames KF can be maintained within a certain processable range under the condition that the activity range of the robot is fixed, which is beneficial to maintaining the positioning stability of the robot for a long time, and provides effective support for stable and long-term operation of the robot positioning module. In the positioning initialization process, the key frame KF is matched with the base map, based on the matching between the key frame KF and the base map, the higher the matching degree of the new key frame KF and the base map key frame KF, the tighter the added constraint, and the lower the matching degree, the looser the constraint, which can improve the robustness of the update, and without setting the update threshold, the map can always be kept in the latest environment state, and the registration result and positioning result between the key frames KF are added as constraint conditions in the updating process of the new key frame KF, which can also ensure that the structure of the overall map after updating does not change.

[0048] Before the map update, the map construction needs to be performed first, that is, the overall environment is constructed. Before step S01 of the embodiment, a map construction step is further included, as shown in the following table. Figure 3 As shown in the table, the steps of the map construction include: first, program initialization is performed, the environment is scanned by a scanning device (such as a laser radar), and the i-th front key frame KF is registered (front scan match) with the i-1-th front key frame KF to obtain the radar position at the i-th moment, a grid map based on laser point cloud is constructed, and a key frame KF in the mapping process is generated and output; then, back-end loop detection is performed, the pose of the key frame KF is adjusted, and the key frame KF is used to construct a base map for positioning. The data in the key frame KF includes the time of generating the key frame, the position in the front end, and the radar data, etc. Since only the relative position of the front and rear frames can be obtained through the front-end scan match, and the cumulative error will become large over time, the back-end loop can effectively eliminate the cumulative error. In the embodiment, the specific steps of the above back-end loop detection include: comparing the radar data of the current obtained key frame KF with the radar data of the historical key frame KF, judging whether the current detection position returns to the historical position according to the comparison result, for example, if the radar data of the current key frame KF is the same as the radar data of the key frame KF at a historical moment, it is determined that the historical position is returned, and if it is identified that the historical position is returned, a preset loop constraint is added to adjust the pose of the current key frame KF and eliminate the cumulative error.

[0049] In a specific application embodiment, a mapping device including a laser radar sensor and a processor can be used for map construction. During the mapping process, the surrounding environment is scanned by the laser radar on the mapping device; the mapping device is driven around the environment where the map needs to be constructed, so that the data of the radar can cover the entire environment as much as possible, a grid map based on laser point cloud is constructed, and the map of the environment and all base map key frames KF and corresponding constraints corresponding to the map are output by the mapping device.

[0050] In other embodiments, the laser radar can of course also be implemented by other devices, such as a camera, etc.

[0051] In step S1 of the embodiment, matching the new key frame KF and the base map in the initialization process is to project the radar data of the key frame KF to the base map through the predicted pose, and then compare it with the base map to obtain the optimal matching pose. Compared with the comparison between frames in the traditional map updating method, the matching between the key frame and the base map is used in the embodiment. Since the data of a single frame is less, not only the robustness of the update can be improved, but also the absolute position of the frame on the base map can be obtained.

[0052] After step S01 and before step S02, the embodiment further includes a step of fixing the key frames of the base map. The map update should be performed without changing the overall map structure of the last time. If the key frames of the base map are not fixed in advance, the overall map will be biased during optimization. For example, if the original map is a rectangle, the updated map will be biased to become a rhombus if the key frames of the base map are not fixed in advance. In the embodiment, the key frames of the base map are fixed when the key frames of the base map are input into the map, so that the positions of the key frames are fixed and unchanged, and the previous base map will not be changed during the update process, thereby ensuring that the overall structure of the map will not change after continuous updating.

[0053] In the map updating process, for the old key frames that meet the conditions, if the difference between the new key frame and the target old key frame reaches the preset update threshold, the target old key frame is deleted, and the frame after the target old key frame is connected with the frame before the target old key frame, so as to avoid the infinite accumulation of the old map key frame data and maintain the continuous and stable update of the new key frame. For example, in the same area, if the i-th key frame observes that the j-th key frame that is passed during the previous mapping meets the update threshold, the j-th key frame is deleted in the pose graph, and the original j-1-th frame is directly connected with the j+1-th frame, and the map is constructed according to the connection in the pose graph during mapping.

[0054] When the robot runs for a long time, the overall map key frame KF will continuously rise, and the optimization nodes of the map will also increase, which will affect the normal operation of the map update. In the map updating process, when the new key frame KF is obtained, it is judged whether there is an old key frame KF that meets the preset update condition compared with the new key frame KF. If there is, the old key frame KF is replaced by the new key frame KF, so that no matter how long the robot runs, the key frame KF information of the map can be maintained within a certain processable range and will not rise infinitely.

[0055] For example, as shown in the update scene of Figure 4 , wherein Figure 4 (a) corresponds to the original key frame KF, and the original key frame KF includes 1-15 nodes. When it is judged that there is an old key frame KF that can be deleted, as shown in Figure 4 (b), wherein node 2 meets the update threshold compared with node 12, node 3 meets the update threshold compared with node 13, and node 4 meets the update threshold compared with node 14, nodes 2, 3 and 4 are deleted, and node 1 is directly connected with node 5 to form the updated key frame, as shown in Figure 4 (c). According to the above key frame updating mode, a stable number of key frames KF can be continuously maintained with the time accumulation.

[0056] In step S02 of this embodiment, the first keyframe obtained from the current positioning is connected to the nearest keyframe in the base map, and then inserted into the current map as a pri factor (previous factor) node. Each keyframe node KF in the map corresponds to a factor, and the constraint edges of the factor are the constraints of the node. Each new keyframe added is actually a keyframe obtained from the previous mapping. Each time a new keyframe is added to the map, it is connected to the corresponding keyframe in the base map, and then inserted into the map as a previous factor node to achieve the insertion and update of the new keyframe. The aforementioned pri factor is specifically an observation factor, which is also an observation. It is used to correct the update results, making the map update more responsive to the newly added observation. For example, if the observation is a correct value, adding the correct observation can make the map closer to the actual state.

[0057] like Figure 5 As shown, pri and pri2 represent constraint edges connected to the previous factor node. The connection strengths of pri and pri2 are different, with pri2 representing a strong connection. During the localization process, after the initial point position is given, under the condition of good localization (such as being able to complete localization normally and output localization results), all keyframes KF and graph information in the original map are loaded for localization. The keyframes KF in the original map are set to fixed fixes (such as nodes 1-fix to 5-fix). Then, after initialization, under the condition of good localization, the keyframe KF closest to the base map (i.e., node 1) is connected and inserted into the current graph as a pri factor node. That is, the keyframe KF closest to the base map (node ​​1) is connected to the previous keyframe KF (node ​​5-fix) as the initial localization pri edge (pri2 edge).

[0058] In step S03 of this embodiment, the positioning result obtained by incorporating the current new keyframe is used as the second constraint edge (pr i edge) between the current node and the previous node. That is, the positioning result obtained by incorporating the current new keyframe is used as the constraint edge connecting to the keyframe of the base map. By connecting the positioning result as a base map constraint to the keyframe of the base map, the consistency of the overall map can be further guaranteed, so that the structure of the updated overall map will not change, such as the map not becoming skewed. Figure 5 As shown, each node uses the positioning result as pi edge to form the positioning result pr edge. When a new keyframe KF of frame i is added, the new keyframe KF of frame i is connected to the keyframe KF of frame i-1. The keyframe KF of frame i is put into the positioning module and the positioning result is output. This positioning result indicates that it is connected to the keyframe KF of the base map as pi edge.

[0059] In step S03 of this embodiment, the registration result is the relative pose obtained by registering the new keyframe (frame i) with the previous keyframe (frame i-1). The relative pose obtained by registering the new keyframe with the previous keyframe is used as the first constraint edge (front-end Scanmatch edge) between the current node and the previous node. That is, the new keyframe (frame i) is registered with the previous keyframe (frame i-1) in the current map to obtain the relative pose. Then, the relative pose is added to the graph as a factor constraint edge between keyframes. The front-end keyframe KF registration result is used as the front-end constraint connecting the keyframes. This front-end constraint can ensure the continuity of the positioning, so that the keyframes KF are continuous and will not have abrupt changes, thus preventing the positioning from jumping.

[0060] In a specific application embodiment, during the localization process, a local factor graph is first constructed. The pose of the localized observation is used as the constraint edge of the keyframe node. The constraint edges between factors use the scanmatch result (the relative pose obtained from registration), which is equivalent to having a mapping front-end. After a long period of localization, if it is detected that a newly added keyframe KF can replace an old keyframe KF, for example, if the newly added keyframe KF overlaps with an old keyframe, the old keyframe KF is deleted. If it is determined that the keyframe to be deleted is a factor of the base map, the keyframe to be deleted is deleted, and the pose (pos) of the keyframe to be deleted is used as the pri edge of the new keyframe. Figure 6 As shown, pr i edge and pr i2 edge represent constraint edges connected to the previous factor node. The connection strength of pr i edge and pr i2 edge is different. pr i2 edge represents a strong connection. When it is determined that nodes 2-fix and 3-fix in the base map can be deleted, 2-fix and 3-fix are deleted, node 1-fix is ​​directly connected to 4-fix, and 2-fix and 3-fix are respectively used as pr i edges (pr i edge 2) of nodes 7 and 8. After the map is updated, it is connected to the base map without changing the position of the base map.

[0061] In step S04 of this embodiment, when the remote system discovers that the base map can be updated, or when the program determines that the difference between the base map and the new map is greater than a set threshold, the base map used for positioning is automatically replaced. After the positioning module re-initializes the positioning, the new map is automatically loaded as the base map, and then the process returns to step S02 to execute the map update steps as described above. If the base map does not need to be updated, the key frame update in step S03 continues until the update is exited, thus maintaining the autonomous and continuous update of the map.

[0062] like Figure 2 As shown, the detailed steps for updating the indoor environment map in a specific application embodiment of the present invention are as follows:

[0063] Step S01. Positioning initialization: before the map updating module is executed, the positioning module first performs positioning on the base map of the environment, continuously matches the new key frame with the base map, and outputs the matching constraint of the new key frame KF and the base map key frame KF after initialization; after the positioning module obtains the initialization position, if the positioning module indicates that the positioning is good, the map updating module loads all the base map key frame KF and the constraint information, and sets the KF graph node as fix (fixed), if the positioning is not good, the positioning initialization is performed again to obtain the initialization position;

[0064] Step S02. First frame connection: if the positioning is good, the pose of the latest base map key frame KF is obtained and connected to the first key frame KF of positioning as a pri edge, that is, the first frame key frame KF is connected with the KF graph node of the base map, and is inserted into the graph as a pri factor;

[0065] Step S03. New KF update: after the first frame key frame KF is determined, with the passage of time, if the positioning program runs normally, the new key frame KF is continuously input into the map updating module according to the output positioning result, the i-th subsequent new key frame KF is connected with the i-1-th frame, and the edge between the subsequent key frames KF is the edge of the front scanmatch, that is, the registration result between the front key frames KF is set as a constraint to ensure that the current key frame KF is continuous and will not mutate, and the positioning result is given to the key frame factor as a pri edge, so that the positioning result is used as a base map constraint to be connected to the base map KF, to ensure that the structure of the updated overall map will not change.

[0066] Step S04. Update control: after running for a period of time, an automatic update is adopted to judge whether the difference between the base map and the updated base map reaches the update threshold, if the difference is too large, the positioning module loads the updated map as the base map, and then the map updating is performed, to ensure that the base map used by the positioning module is the latest environment map. The above update start can also adopt a manual update mode. Figure 1

[0067] The specific process of updating the map updating factor graph in this embodiment is as follows:

[0068] First, the base map key frame KF is loaded and set as fix (fixed), to ensure that the overall framework of the updated map will not change;

[0069] When the i-th frame key frame KF is newly added, the i-1-th front key frame KF is registered, and after the registration, it is added to the graph, to be added to the key frame node as a front constraint, to ensure the continuity of positioning; at the same time, the positioning result output by the positioning module using the newly added i-th frame key frame KF is connected with the key frame KF of the base map as a pri edge, to ensure the consistency of the overall map; ​

[0070] When the newly added key frame KF detects that it can replace the old key frame KF, the old key frame KF is deleted, and if it is a bottom map factor, the pose of the factor after deletion is taken as the pri edge of the new key frame, so that when the map area is fixed, the KF can be ensured not to increase with time.

[0071] The above steps can realize optimization of the key frame KF, and the optimized key frame KF constitutes the latest environment map. When output is needed, the real-time updated map can be obtained.

[0072] In other embodiments, the optimization tool described above can also not use the factor graph, and other libraries can be used for optimization, such as g2o (graph optimization framework), ceres (library for nonlinear optimization), etc.

[0073] The indoor environment map updating device of the embodiment comprises:

[0074] A positioning initialization module is configured to load a bottom map used in current positioning and perform positioning initialization, match the bottom map with a newly obtained key frame, and determine an initial position point to obtain all key frames in the current bottom map and corresponding constraint information;

[0075] A first positioning updating module is configured to obtain a current positioning result, connect a first obtained key frame with a nearest key frame in the bottom map according to the key frames and constraint information of the current bottom map, and insert the first obtained key frame into the current map;

[0076] A second positioning updating module is configured to, when a new key frame is obtained, connect the new key frame with a previous key frame in the current map according to the key frames and constraint information of the current bottom map, use a registration result between the new key frame and the previous key frame and a positioning result obtained by adding the new key frame as a constraint, and delete a specified old key frame when the new key frame meets a preset condition compared with the old key frame.

[0077] An updating control module is configured to determine whether the bottom map needs to be updated. If the bottom map needs to be updated, the current updated map is loaded as the bottom map, positioning initialization is performed again, and then the first positioning updating module is executed to perform updating. Otherwise, the second positioning updating module is executed.

[0078] The indoor environment map updating device of the embodiment corresponds to the indoor environment map updating method described above, and thus will not be described again.

[0079] The embodiment also provides a computer readable storage medium storing a computer program. The computer program is executed to implement the indoor environment map updating method described above.

[0080] The present application can be applied to an indoor robot to perform autonomous updating of an environment map of the robot, and can also be applied to similar autonomous updating of a map of an outdoor environment within a certain range.

[0081] The embodiment also provides an indoor robot, comprising a robot body, a processor and a memory arranged in the robot body, the memory being used to store a computer program, and the processor being used to execute the computer program, characterized in that the processor is used to execute the computer program to perform the indoor environment map updating method as described above.

[0082] The above is only a preferred embodiment of the present application, and does not limit the present application in any form. Although the present application has been disclosed as above with the preferred embodiment, it is not intended to limit the present application. Therefore, any simple modification, equivalent change and modification made to the above embodiment according to the technical essence of the present application, without departing from the technical solution of the present application, shall fall within the protection scope of the technical solution of the present application.

Claims

1. A method of updating an indoor environment map, characterized by the steps of Comprise: S01. Load the bottom map used in the current positioning and perform positioning initialization, continuously match the bottom map with the new key frame obtained, determine the initial position point, obtain all key frames in the current bottom map and the corresponding constraint information, and fix the key frames in the bottom map; S02. Obtain the current positioning result, connect the first key frame obtained with the nearest key frame in the bottom map according to the key frames and constraint information of the current bottom map, and insert it into the current map; S03. When a new key frame is obtained by positioning, connect the new key frame with the last key frame in the current map according to the key frames and constraint information of the current bottom map, insert the new key frame as a node into the map, use the registration result between the new key frame and the last key frame as the first constraint edge between the current node and the last node, and use the positioning result obtained by adding the current new key frame as the second constraint edge between the current node and the last node, and use the positioning result obtained by adding the current new key frame as the bottom map constraint to connect to the bottom map key frame, and delete the specified old key frame when the new key frame meets the preset condition compared with the old key frame; S04. Determine whether the bottom map needs to be updated, if yes, load the current updated map as the bottom map, re-perform positioning initialization and return to step S02 for updating, otherwise return to step S03.

2. The indoor environment map updating method according to claim 1, characterized by, In step S02, when connecting the first key frame obtained by current positioning with the nearest key frame in the bottom map, the first key frame is inserted into the current map as the last factor node.

3. The indoor environment map updating method according to claim 1, characterized by, In step S03, the registration result is the relative pose obtained by registration between the new key frame and the last key frame, and the relative pose obtained by registration between the new key frame and the last key frame is used as the first constraint edge between the current node and the last node.

4. The indoor environment map updating method according to claim 1, characterized by, In step S03, if it is determined that the key frame to be deleted is the factor of the bottom map, the pose of the key frame to be deleted is used as the last factor node of the new key frame after deleting the key frame to be deleted.

5. The indoor environment map updating method according to any one of claims 1 to 4, characterized in that, The step S01 further comprises a map construction step, comprising: scanning the target environment, constructing a grid map based on laser point cloud, generating key frames in the mapping process and outputting; performing back-end loop detection to adjust the pose of the key frame; and constructing a bottom map used for positioning using the key frame.

6. The indoor environment map updating method according to claim 5, characterized in that, The back-end loop detection comprises: comparing the radar data of the key frame obtained in the mapping process with the radar data of the historical key frame, determining whether the current detection position returns to the historical position according to the comparison result, and if yes, adding a preset loop constraint to adjust the pose of the current key frame KF.

7. An indoor environment map updating apparatus characterized by comprising: Comprise: A positioning initialization module for loading a bottom map used in current positioning and performing positioning initialization, continuously matching the bottom map with a new key frame obtained, determining an initial position point, obtaining all key frames in the current bottom map and corresponding constraint information, and fixing the key frames in the bottom map; The first positioning updating module is configured to acquire a current positioning result, and connect and insert a first acquired key frame into a current map according to key frames of a current base map and constraint information; The second positioning updating module is configured to, when a new key frame is acquired, connect the new key frame with a last key frame in the current map according to the key frames of the current base map and the constraint information, insert the new key frame into the map as a node, use a registration result between the new key frame and the last key frame as a first constraint edge between a current node and a last node, use a positioning result obtained by adding the current new key frame as a second constraint edge between the current node and the last node, and use the positioning result obtained by adding the current new key frame as a base map constraint to connect to a key frame of the base map, and delete a specified old key frame when the new key frame meets a preset condition compared with the old key frame; The updating control module is configured to determine whether the base map needs to be updated, load a current updated map as the base map if the base map needs to be updated, return to execute the first positioning updating module to perform updating after re-performing positioning initialization, and otherwise return to execute the second positioning updating module.

8. A computer readable storage medium storing a computer program, characterized in that, The computer program is configured to implement the method of any one of claims 1-6 when executed.

9. An indoor robot, comprising a robot body, a positioning module arranged in the robot body, a processor and a memory, the positioning module being connected with the processor, the memory being used for storing a computer program, and the processor being used for executing the computer program, characterized in that, The processor is configured to receive a positioning result output by the positioning module, and execute the computer program to implement the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Mapping method and device, computer readable storage medium and robot

    CN112100298A

  • Map updating method, robot and readable storage medium

    CN113624222A