SLAM system decision method and electronic equipment based on multi-state

Through the multi-state decision-making method of SLAM system, the degree of consistency of observation data and the operation decision is adjusted, the problems of insufficient computing power and insufficient robustness in the existing SLAM technology are solved, and the efficient and stable operation of the SLAM system is achieved.

CN114706724BActive Publication Date: 2025-04-04MIDEA GRP (SHANGHAI) CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The existing SLAM technology is difficult to implement effectively in robot autonomous movement, mainly due to insufficient computing power caused by hardware equipment and insufficient robustness caused by diversity in real environments.

Method used

A multi-state decision-making method is proposed. By calculating the degree of consistency between the current observation data and the preset observation data, the current operating status of the SLAM system is determined, and the operation decision is adjusted according to the status to save computing power and ensure robustness.

Benefits of technology

This method can ensure the normal operation and robustness of the SLAM system without increasing the computing power, effectively solving the problems of insufficient computing power and insufficient robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114706724B_ABST
    Figure CN114706724B_ABST
Patent Text Reader

Abstract

The present application discloses a SLAM system decision method based on multiple states, an electronic device, a computer storage medium, and a computer program product. The SLAM system decision method based on multiple states includes: calculating the degree of agreement between the current observation data of the SLAM system and the preset observation data; determining the current operating state of the SLAM system based on the degree of agreement; in response to the current operating state being a preset state, maintaining the operating decision of the SLAM system; in response to the current operating state not being a preset state, adjusting the operating decision of the SLAM system based on the current operating state. In this way, computing power can be saved and robustness can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer and automation technology, and in particular to a multi-state based SLAM system decision method, electronic equipment, computer storage medium, and computer program product. Background Art

[0002] When a robot moves autonomously in an environment, it needs to know its position in the map at all times. When the robot knows its position in the map at the previous moment, it can generally use a simultaneous localization and mapping (SLAM) algorithm to estimate the robot's current position based on the previous position and the observation data provided by many sensors at the current moment.

[0003] Since its development, SLAM technology is still mostly active in academic research. The main reasons why it is difficult to truly implement SLAM technology in robot products are: insufficient computing power caused by the hardware equipment of the mobile platform and insufficient robustness caused by the diversity of the real environment. Summary of the invention

[0004] The present application provides a multi-state based SLAM system decision method, electronic equipment, computer storage medium, and computer program product to save computing power and ensure robustness.

[0005] In order to solve the above technical problems, the present application proposes a multi-state based SLAM system decision method. The multi-state based SLAM system decision method includes: calculating the degree of fit between the current observation data of the SLAM system and the preset observation data; determining the current operating state of the SLAM system based on the degree of fit; in response to the current operating state being the preset state, maintaining the operating decision of the SLAM system; in response to the current operating state not being the preset state, adjusting the operating decision of the SLAM system based on the current operating state.

[0006] The above-mentioned determining the current operation state of the SLAM system based on the degree of fit includes: obtaining a current operation evaluation value of the SLAM system based on the degree of fit; updating a count value based on the current operation evaluation value; and determining the current operation state of the SLAM system based on the updated count value.

[0007] Among them, the above-mentioned updating of the count value based on the current operation evaluation value includes: in response to the current operation evaluation value being greater than the first threshold and the count value being less than the first count threshold, the count value is increased by one; in response to the current operation evaluation value being less than the second threshold and the count value being greater than the second count threshold, the count value is decreased by one; wherein, the first threshold is greater than the second threshold, and the first count threshold is greater than the second count threshold.

[0008] Among them, the above-mentioned determination of the current operating state of the SLAM system based on the updated count value includes: in response to the updated count value being equal to the first count threshold, determining that the current operating state of the SLAM system is a good state; in response to the updated count value being greater than zero and less than the first count threshold, determining that the current operating state of the SLAM system is a preset state; in response to the updated count value being less than zero and greater than the second count threshold, determining that the current operating state of the SLAM system is a poor state; in response to the updated count value being equal to the second count threshold, determining that the current operating state of the SLAM system is a lost state.

[0009] Among them, in response to the current operating state not being a preset state, the operating decision of the SLAM system is adjusted based on the current operating state, including: in response to the current operating state being a good state, reducing the radius threshold and angle threshold of the positioning search, and / or reducing the nonlinear fusion optimization iteration number threshold; or in response to the current operating state being a lost state, starting the positioning initialization and resetting the SLAM system.

[0010] Among them, in response to the current operating state not being a preset state, the operating decision of the SLAM system is adjusted based on the current operating state, including: in response to the current operating state being a suboptimal state, increasing the radius threshold and angle threshold of the positioning search, reducing the step threshold of the positioning search, and / or increasing the nonlinear fusion optimization iteration number threshold; or in response to the current operating state being a suboptimal state, turning off map updates, and / or turning on visual assistance.

[0011] Among them, the current observation data includes a laser point cloud, and the preset observation data includes a preset grid map; the above-mentioned obtaining the degree of consistency between the current observation data and the preset observation data includes: mapping the laser point cloud to the preset grid map, and obtaining the grid corresponding to the laser point cloud in the preset grid map; in response to the state of the grid corresponding to the laser point cloud being an occupied state, determining that the laser point cloud is consistent with the preset observation data; calculating the proportion of the number of consistent grids to the total number of grids corresponding to the laser point cloud; and determining the degree of consistency between the current observation data and the preset observation data based on the proportion.

[0012] To solve the above technical problems, the present application proposes an electronic device, which includes a memory and a processor coupled to each other, and the processor is used to execute program data stored in the memory to implement the above multi-state based SLAM system decision method.

[0013] In order to solve the above technical problems, the present application proposes a computer storage medium on which program data is stored, and the program data can be executed to implement the above multi-state based SLAM system decision method.

[0014] To solve the above technical problems, the present application proposes a computer program product. The computer program product includes computer program instructions, which enable a computer to implement the above multi-state based SLAM system decision method.

[0015] Different from the prior art: The multi-state SLAM system decision method of the present application first calculates the degree of agreement between the current observation data of the SLAM system and the preset observation data, and determines the current operating state of the SLAM system based on the degree of agreement; then, when the current operating state is the preset state, that is, the normal operating state, the operating decision of the SLAM system is continued to be maintained to ensure the normal operation of the SLAM system, without increasing the computing power, and the robustness of the operation of the SLAM system can be ensured; and when the current operating state is not the preset state, the operating decision of the SLAM system can be adjusted based on the current operating state to save the computing power of the SLAM system and ensure the robustness of its operation. Therefore, the present application can save computing power and ensure robustness. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work, among which:

[0017] Figure 1 It is a flowchart of an embodiment of a multi-state SLAM system decision method of the present application;

[0018] Figure 2 yes Figure 1 A specific flow chart of step S11 in the embodiment;

[0019] Figure 3 yes Figure 1 A specific flow chart of step S12 in the embodiment;

[0020] Figure 4 This is a schematic diagram of the state machine layer flow of the SLAM system of the present application and its relationship with the computer;

[0021] Figure 5 It is a structural diagram of an embodiment of a multi-state SLAM system decision device of the present application;

[0022] Figure 6 It is a structural schematic diagram of an embodiment of the electronic device of the present application;

[0023] Figure 7 It is a structural diagram of an embodiment of the computer storage medium of the present application. DETAILED DESCRIPTION

[0024] The present application is further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only used to illustrate the present application, but are not intended to limit the scope of the present application. Similarly, the following examples are only some embodiments of the present application rather than all embodiments, and all other embodiments obtained by those of ordinary skill in the art without making creative work are within the scope of protection of the present application.

[0025] In the description of the embodiments of the present application, it should be noted that, unless otherwise clearly specified and limited, the terms "connected" and "connection" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms in the embodiments of the present application can be understood according to specific circumstances.

[0026] In the embodiments of the present application, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.

[0027] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiments of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0028] The multi-state based SLAM system decision method, electronic device, computer storage medium and computer program product provided by the present application are described in detail below in conjunction with the embodiments.

[0029] The technical solution of this application can be applied to a variety of products, such as robots, drones or mobile terminals, etc. The robot can be a wheeled mobile robot, a bipedal or multi-legged mobile robot, etc. The mobile terminal can be a mobile phone with a laser radar sensor, etc. This article takes a robot as an example for description.

[0030] This application first proposes a SLAM system decision method based on multi-state, such as Figure 1 As shown, Figure 1 1 is a flow chart of an embodiment of a SLAM system decision method based on multiple states of the present application. The SLAM system decision method based on multiple states of the present embodiment specifically comprises the following steps:

[0031] Step S11: Calculate the degree of agreement between the current observation data of the SLAM system and the preset observation data.

[0032] Optionally, the current observation data of this embodiment includes a laser point cloud, ie, laser point cloud data; and the preset observation data includes a preset grid map.

[0033] The robot is equipped with a sensor combination that can detect environmental data of the space, and the sensor combination includes at least one or more 3D scanning devices such as laser radar sensors. The robot is also equipped with a processor that can send and receive instructions and process data information. Among them, the laser radar sensor type can be: single-line laser radar, multi-line laser radar or solid-state laser radar, etc.

[0034] The robot can obtain point cloud data of the navigation area through 3D scanning equipment. Point cloud data refers to a collection of multiple points in a three-dimensional coordinate system. In addition to geometric positions, some point cloud data also has color information. Color information is usually obtained by a color image obtained by a depth camera, and then the color information of the pixels at the corresponding position is assigned to the corresponding point in the point cloud.

[0035] The SLAM system of this embodiment includes a 3D scanning device and a processor; the SLAM system constructs a grid map of the navigation area based on point cloud data. If a robot wants to start autonomous movement in a completely unfamiliar environment, it must first use its own sensors to perceive and learn the current environment. The SLAM system completes this function, and the results of the learning are maps and mapping trajectories. The map describes the specific passable / occluded conditions of the current environment, while the mapping trajectory represents a proven feasible route in the environment, and the environment around the route has been learned.

[0036] Among them, the SLAM system builds a map, which means that the robot creates a map in a completely unknown environment under the condition that its own position is uncertain, and uses the map for autonomous positioning and navigation. The SLAM problem can be described as: the robot starts to move from an unknown position in an unknown environment, and during the movement, it locates itself based on position estimation and sensor data, and builds an incremental map. When the robot builds a map, the robot needs to know its position in the environment and record the position of the features in the environment. The robot builds the map while positioning.

[0037] The grid map is composed of grids, each of which can represent the state of the surrounding environment at its location. The state includes three states: the occupied state where obstacles exist, the idle state where there are no obstacles and the robot can pass freely, and the unknown state where the robot has not yet detected (it is unknown whether there are obstacles in the grid). The robot can plan its route according to the grid map, and the grid map is continuously detected and updated during the process of the intelligent robot moving forward.

[0038] The robot uses the SLAM system to build a grid map during movement, marking the grid map's explored (idle), unexplored (unknown), and obstacle (occupied) states. After the robot completes the mapping process manually or autonomously, a complete grid map is generated.

[0039] The robot can determine the size of the grid based on parameters such as environmental resolution, environmental information storage capacity, and decision-making speed. If the environmental resolution is large, the environmental information storage capacity is large, and the decision-making speed is slow, a small grid can be selected; if the environmental resolution is small, the environmental information storage capacity is small, and the decision-making speed is fast, a large grid can be selected, but the ability to find a path in a dense obstacle environment is weak.

[0040] Of course, in other embodiments, the robot may also use other mature technologies to construct a grid map of the navigation area, or use direct representation methods, topological maps or feature point maps to replace the grid map of this embodiment.

[0041] Optionally, this embodiment can be implemented by Figure 2 The method shown implements step S11, and the method of this embodiment specifically includes steps S21 to S24.

[0042] Step S21: Map the laser point cloud to a preset grid map, and obtain a grid in the preset grid map corresponding to the laser point cloud.

[0043] The preset grid map is a reference grid map of the detection area, which is established in advance for the normal operation of the SLAM system or established through other reliable technologies, and can accurately reflect the information of the detection area.

[0044] The laser point cloud output by the SLAM system is mapped to a preset grid map. The laser point cloud can be based on the key frame laser point cloud obtained by the SLAM algorithm; and a grid corresponding to the laser point cloud in the preset grid is obtained.

[0045] When the laser radar performs laser detection on the detection area, a laser point cloud will be generated for the obstacle. Therefore, by mapping the laser point cloud to a preset grid map and obtaining the grid corresponding to the laser point cloud in the preset grid map, the detection status of the obstacle by the current laser point cloud can be determined.

[0046] Step S22: In response to the state of the grid corresponding to the laser point cloud being an occupied state, determining that the laser point cloud is consistent with preset observation data.

[0047] From the above analysis, it can be seen that if there is an obstacle corresponding to the grid in the grid map, the state of the grid is occupied. Therefore, if the state of the grid corresponding to the laser point cloud is occupied, that is, the obstacle situation detected by the laser point cloud is consistent with the obstacle situation in the preset grid map, then it is determined that the laser point cloud is consistent with the preset observation data.

[0048] Step S23: Calculate the ratio of the number of matching grids to the total number of grids corresponding to the laser point cloud.

[0049] The total number of grids mapped with laser point clouds and the number of grids determined to be consistent are counted respectively, and the proportion of the number of consistent grids to the total number of grids mapped with laser point clouds is calculated. This proportion can reflect the degree of consistency between the current observation data, i.e., the laser power source, and the preset observation data, i.e., the preset grid map.

[0050] Step S24: Determine the degree of agreement between the current observation data and the preset observation data based on the proportion.

[0051] The proportion can be used as the degree of fit between the current observation data and the preset observation data, or the proportion can be scaled proportionally and the scaled proportion can be used as the degree of fit between the current observation data and the preset observation data.

[0052] In other embodiments, the current observation data may also be visual data, point cloud data, etc., and the preset observation data may also be a visual map, etc.

[0053] Step S12: Determine the current operating state of the SLAM system based on the degree of fit.

[0054] Optionally, this embodiment can be implemented by Figure 3 The method shown implements step S12, and the method of this embodiment includes steps S31 to S33.

[0055] Step S31: obtaining the current operation evaluation value of the SLAM system based on the degree of fit.

[0056] The current running evaluation value is directly proportional to the degree of coincidence, that is, the greater the degree of coincidence, the greater the current motion evaluation value, and the smaller the degree of coincidence, the smaller the current motion evaluation value.

[0057] In other embodiments, the degree of coincidence can be directly used as the current motion evaluation value.

[0058] Step S32: Update the count value based on the current running evaluation value.

[0059] Specifically, in response to the current running evaluation value being greater than the first threshold and the count value being less than the first count threshold, the count value is incremented by one; in response to the current running evaluation value being less than the second threshold and the count value being greater than the second count threshold, the count value is decremented by one; wherein, the first threshold is greater than the second threshold, and the first count threshold is greater than the second count threshold.

[0060] For example, after the SLAM system is started, the count value C of the counter is initialized to 0, the first count threshold is set to N, the second count threshold is set to (-N), the first threshold is Th_g, and the second threshold is Th_b; continuously monitor the degree of coincidence between the current observation data output by the SLAM system and the preset observation data, and set the current motion evaluation value score based on the degree of coincidence, and modify the count value C of the counter based on the current motion evaluation value score. Specifically, if score > Th_g and C < N, set C = C + 1; if score < Th_b and C > -N, set C = C - 1.

[0061] Step S33: Determine the current running state of the SLAM system based on the updated count value.

[0062] Optionally, the running states of the SLAM system in this embodiment include a good state, a preset state, a poor state, and a lost state, that is, the state machine of the SLAM system includes these four states. In other embodiments, more or less can be set based on the specific design and performance requirements of the SLAM system, or other running states can be set.

[0063] Specifically, in response to the updated count value being equal to the first count threshold, it is determined that the current running state of the SLAM system is a good state.

[0064] From the above analysis, it can be seen that when the degree of coincidence between the current observation data and the preset observation data is greater than the first threshold and the count value is less than the first count threshold, that is, when the counter count reaches the upper limit, the count value accumulates. Therefore, when the count value is the first count threshold, it can be considered that the degree of coincidence between the current observation data obtained by the SLAM system and the preset observation data is relatively high within a period of time, and the SLAM system is running well, and it can be determined that the current running state of the SLAM system is a good state.

[0065] In response to the updated count value being greater than zero and less than the first count threshold, it is determined that the current operating state of the SLAM system is a preset state.

[0066] From the above analysis, it can be seen that when the degree of consistency between the current observation data and the preset observation data is greater than the first threshold, and the count value is less than the first count threshold, that is, when the counter counts to the upper limit, the count value is accumulated, and when the degree of consistency between the current observation data and the preset observation data is less than the second threshold, and the count value is greater than the second count threshold, that is, when the counter counts to the lower limit, the count value decreases. Therefore, when the count value is greater than zero and less than the first count threshold, it can be considered that the SLAM system obtains normal consistency between the current observation data and the preset observation data within a period of time, the SLAM system operates normally, and it can be determined that the current operating state of the SLAM system is the preset state.

[0067] In response to the updated count value being less than zero and greater than a second count threshold, it is determined that the current operating state of the SLAM system is a suboptimal state.

[0068] From the above analysis, it can be seen that when the degree of fit between the current observation data and the preset observation data is greater than the first threshold, and the count value is less than the first count threshold, that is, when the counter counts to the upper limit, the count value is accumulated, and when the degree of fit between the current observation data and the preset observation data is less than the second threshold, and the count value is greater than the second count threshold, that is, when the counter counts to the lower limit, the count value decreases. Therefore, when the count value is less than zero and greater than the second count threshold, it can be considered that the SLAM system has not obtained a normal degree of fit between the current observation data and the preset observation data within a period of time, and the SLAM system is operating poorly, and it can be determined that the current operating state of the SLAM system is in a poor state.

[0069] In response to the updated count value being equal to the second count threshold, it is determined that the current operating state of the SLAM system is a lost state.

[0070] From the above analysis, it can be seen that the degree of consistency between the current observation data and the preset observation data is less than the second threshold, and the count value is greater than the second count threshold, that is, when the counter counts to the lower limit, the count value decreases. Therefore, when the count value is the second count threshold, it can be considered that the current observation data obtained by the SLAM system within a period of time and the preset observation data are completely inconsistent. The SLAM system fails, and it can be determined that the current operating state of the SLAM system is a lost state.

[0071] This embodiment uses the current operation evaluation value based on the SLAM system to update the count value, and determines the current operation state of the SLAM system based on the updated count value. This can avoid the problem of the SLAM system changing the motion state during a certain operation state operation period due to a deviation between the consistency of a few frames of observation data and the consistency corresponding to the operation state. It can also solve the problem of the SLAM system's operation decisions being frequently adjusted due to a few abnormal observation data.

[0072] Step S13: In response to the current operating state being the preset state, the operating decision of the SLAM system is maintained.

[0073] When the SLAM system moves, the robot is controlled to work according to the operation decision corresponding to the preset state. Therefore, if the current operation state is the preset state, the operation decision of the SLAM system can be maintained.

[0074] Step S14: In response to the current operating state not being the preset state, adjusting the operating decision of the SLAM system based on the current operating state.

[0075] The operation decisions of the SLAM system mainly include two categories: one is positioning decision, and the other is the optimization decision of fusing point cloud data or raster map with other sensor data.

[0076] Specifically, in response to the current operating state being a good state, the radius threshold and angle threshold of the positioning search are reduced, and / or the threshold of the number of nonlinear fusion optimization iterations is reduced. When the SLAM system operates well, the accuracy of its decision-making is very high, and the radius threshold and angle threshold of the positioning search can be appropriately reduced, and / or the threshold of the number of nonlinear fusion optimization iterations can be reduced to save computing power.

[0077] In response to the current operating state being a poor state, the radius threshold and angle threshold of the positioning search are increased, the step threshold of the positioning search is reduced, and / or the threshold of the number of iterations of the nonlinear fusion optimization is increased. When the SLAM system operates poorly, the accuracy of its decision-making is low. The radius threshold and angle threshold of the positioning search can be appropriately increased, the step threshold of the positioning search can be reduced, and / or the threshold of the number of iterations of the nonlinear fusion optimization can be increased to ensure the robustness of the operation of the SLAM system.

[0078] Furthermore, in response to the current operating state being the above-mentioned suboptimal state, map updates may be turned off to avoid reducing map accuracy, and / or visual assistance may be turned on to assist the operation of the SLAM system through visual information to ensure the robustness of the SLAM system operation.

[0079] In response to the current running state being the lost state, start the positioning initialization and reset the SLAM system. When the SLAM system loses positioning, its decision-making is completely unavailable. The positioning initialization can be started and the SLAM system can be reset to ensure the robustness of the SLAM system operation.

[0080] For example, as Figure 4 shown, after the SLAM system is started, it runs in the preset state by default, and initializes the count value C of the counter to 0. Set the first count threshold to N, the second count threshold to (-N), the first threshold to Th_g, and the second threshold to Th_b; continuously monitor the matching degree between the current observation data output by the SLAM system and the preset observation data, and set the current motion evaluation value score based on the matching degree, and modify the count value C of the counter based on the current motion evaluation value score.

[0081] After each time the current motion evaluation value score is obtained, the following steps are specifically executed:

[0082] Step1: If score > Th_g and C < N, set C = C + 1; if score < Th_b and C > -N, set C = C - 1. Enter Step2.

[0083] Step2: If C = N, determine that the SLAM system is working in a good state, set the state machine of the SLAM system to the good state, and enter Step3; if 0 <= C < N, determine that the SLAM system is working in a normal state, set the state machine to the preset state, and enter Step4; if -N < C < 0, determine that the SLAM system is working in a sub-optimal state, set the state machine to the sub-optimal state, and enter Step5; if C = -N, determine that the SLAM system is working in the lost state, set the state machine to the lost state, and enter Step6.

[0084] Step3: Reduce the search radius and angle threshold of the laser odometry calculation method, and / or reduce the non-linear optimization iteration count threshold in the fusion stage, thereby reducing the computing power consumption of the SLAM system.

[0085] Step4: Set the SLAM algorithm flow to the preset process and the threshold to the preset value to ensure the normal operation of the SLAM system.

[0086] Step5: Increase the search radius and angle threshold of the laser odometry calculation method, and / or reduce the search step threshold, and / or increase the non-linear optimization iteration count threshold in the fusion stage, and / or turn off the map update module, and / or turn on the visual odometry module for assistance to try to rescue the state of the SLAM system.

[0087] Step 6: Clear the sensor observation buffer content, start the positioning initialization process, and reset the SLAM system.

[0088] This application designs a 4-layer state machine (good state, preset state, poor state, lost state) for the SLAM system to monitor the current operating state of the SLAM system:

[0089] 1. When the SLAM system is in a good state, it is considered that the current SLAM system is running in a better state. The decision maker will adjust the algorithm processing flow of the SLAM system, only process the backbone algorithm, and relax some thresholds to reduce the computing power occupied by the SLAM system.

[0090] 2. When the SLAM system is in the preset state, it is considered that the current SLAM system is operating in a general state. The decision maker will maintain the processing of the main and side branch algorithms of the SLAM system and call back the threshold to maintain the stable operation of the SLAM system.

[0091] 3. When the SLAM system is in a poor state, it is considered that the current SLAM system is in a poor operating state. The decision maker will, on the basis of maintaining the processing of the main and side algorithms of the SLAM system, add some additional algorithms as a rescue measure, stop map updates, tighten the threshold, and try to restore the SLAM state.

[0092] 4. When the SLAM system is in a lost state, it is considered that the SLAM system has lost its continuous positioning capability, and the decision maker will start the positioning initialization process and reinitialize the current posture.

[0093] This application can effectively reduce the computing resources occupied by the SLAM system when the SLAM system is in a good operating state; it can automatically shut down map updates and try to rescue the SLAM system when the SLAM system is in a poor operating state, effectively improving the robustness of the algorithm; it can actively detect when positioning is lost and automatically trigger positioning initialization, further improving the robustness of the algorithm.

[0094] In one embodiment, Figure 5As shown, a SLAM system decision device based on multiple states is provided, and the device can adopt software modules or hardware modules, or a combination of the two to become a part of a computer device, and the device specifically includes: a calculation module 51, an operation state determination module 52 and a decision module 53, and the operation state determination module 52 is respectively connected to the calculation module 51 and the decision module 53; the calculation module 51 is used to calculate the degree of consistency between the current observation data of the SLAM system and the preset observation data; the operation state determination module 52 is used to determine the current operation state of the SLAM system based on the degree of consistency; the decision module 53 is used to maintain the operation decision of the SLAM system in response to the current operation state being a preset state, and is used to adjust the operation decision of the SLAM system based on the current operation state in response to the current operation state not being a preset state.

[0095] The multi-state based SLAM system decision-making device of this embodiment is also used to implement the multi-state based SLAM system decision-making method mentioned above.

[0096] The specific definition of the SLAM system decision-making device based on multiple states can be found in the definition of the SLAM system decision-making method based on multiple states in the above text, which will not be repeated here. Each module in the above-mentioned SLAM system decision-making device based on multiple states can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0097] The present application further proposes an electronic device, such as Figure 6 As shown, Figure 6 The electronic device 100 of the present embodiment includes a processor 101 , a memory 102 coupled to the processor 101 , an input / output device 103 , and a bus 104 .

[0098] The processor 101, the memory 102, and the input / output device 103 are respectively connected to the bus 104. The memory 102 stores program data, and the processor 101 is used to execute the program data to implement the above-mentioned multi-state-based SLAM system decision method.

[0099] The controller in the above embodiment may be integrated into the processor 101 .

[0100] In this embodiment, the processor 101 may also be referred to as a CPU (Central Processing Unit). The processor 101 may be an integrated circuit chip having signal processing capabilities. The processor 101 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor 101 may also be any conventional processor, etc.

[0101] The electronic device 100 of this embodiment can be a robot, a drone or a mobile terminal, etc. The electronic device 100 is further provided with a sensor combination capable of detecting environmental data of a space, and the sensor combination includes at least one or more cameras and one or more lidar sensors and other 3D scanning devices.

[0102] The camera type may be an RGB camera, an RGBD camera, or a grayscale camera. The camera's photo triggering mode may be a global type or a rolling shutter type. The laser radar sensor type may be a single-line laser radar, a multi-line laser radar, or a solid-state laser radar.

[0103] The present application further proposes a computer-readable storage medium, such as Figure 7 As shown, the computer-readable storage medium 160 of this embodiment is used to store the program data 161 of the above embodiment, and the program data 161 can be executed to implement the above multi-state based SLAM system decision method. The program data 161 has been described in detail in the above method embodiment and will not be repeated here.

[0104] The computer-readable storage medium 160 of this embodiment may be, but is not limited to, a USB flash drive, an SD card, a PD optical drive, a mobile hard disk, a large-capacity floppy drive, a flash memory, a multimedia memory card, a server, and the like.

[0105] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in the above-mentioned method embodiments.

[0106] Different from the prior art: The multi-state SLAM system decision method of the present application first calculates the degree of agreement between the current observation data of the SLAM system and the preset observation data, and determines the current operating state of the SLAM system based on the degree of agreement; then, when the current operating state is the preset state, that is, the normal operating state, the operating decision of the SLAM system is continued to be maintained to ensure the normal operation of the SLAM system, without increasing the computing power, and the robustness of the operation of the SLAM system can be ensured; and when the current operating state is not the preset state, the operating decision of the SLAM system can be adjusted based on the current operating state to save the computing power of the SLAM system and ensure the robustness of its operation. Therefore, the present application can save computing power and ensure robustness.

[0107] In addition, if the above functions are implemented in the form of software functions and sold or used as independent products, they can be stored in a storage medium readable by a mobile terminal, that is, the present application also provides a storage device storing program data, the program data can be executed to implement the method of the above embodiment, and the storage device can be, for example, a USB flash drive, an optical disk, a server, etc. In other words, the present application can be embodied in the form of a software product, which includes a number of instructions for enabling a smart terminal to execute all or part of the steps of the method described in each embodiment.

[0108] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0109] Any process or method description in a flowchart or otherwise described herein may be understood to represent a mechanism, segment or portion of a code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0110] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (which can be a personal computer, server, network device or other system that can fetch instructions from the instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0111] The above description is only an implementation method of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A multi-state SLAM system decision method, characterized in that: include: Calculate the degree of agreement between the current observation data of the SLAM system and the preset observation data; Determine the current operating state of the SLAM system based on the degree of fit; In response to the current operating state being a preset state, maintaining the operating decision of the SLAM system; In response to the current operating state not being the preset state, adjusting an operating decision of the SLAM system based on the current operating state; Wherein, in the preset state, the degree of fit of the SLAM system is normal within a period of time, and the SLAM system operates normally.

2. The SLAM system decision method according to claim 1, wherein: Determining the current operating state of the SLAM system based on the degree of fit includes: Acquire a current operation evaluation value of the SLAM system based on the degree of fit; updating a count value based on the current running evaluation value; The current operating state of the SLAM system is determined based on the updated count value.

3. The SLAM system decision method according to claim 2, characterized in that: The updating of the count value based on the current running evaluation value comprises: In response to the current running evaluation value being greater than a first threshold value and the count value being less than the first count threshold value, the count value is increased by one; In response to the current running evaluation value being less than a second threshold value, and the count value being greater than the second count threshold value, the count value is reduced by one; The first threshold is greater than the second threshold, and the first counting threshold is greater than the second counting threshold.

4. The SLAM system decision method according to claim 2 or 3, characterized in that: Determining the current operating state of the SLAM system based on the updated count value includes: In response to the updated count value being equal to the first count threshold, determining that the current operating state of the SLAM system is a good state; In response to the updated count value being greater than zero and less than a first count threshold, determining that the current operating state of the SLAM system is a preset state; In response to the updated count value being less than zero and greater than a second count threshold, determining that the current operating state of the SLAM system is a suboptimal state; In response to the updated count value being equal to the second count threshold, it is determined that the current operating state of the SLAM system is a lost state.

5. The SLAM system decision method according to claim 4, characterized in that: In response to the current operating state not being the preset state, adjusting the operating decision of the SLAM system based on the current operating state includes: In response to the current operating state being the good state, reducing the radius threshold and angle threshold of the positioning search, and / or reducing the nonlinear fusion optimization iteration number threshold; or In response to the current operating state being the lost state, positioning initialization is started and the SLAM system is reset.

6. The SLAM system decision method according to claim 4, characterized in that: In response to the current operating state not being the preset state, adjusting the operating decision of the SLAM system based on the current operating state includes: In response to the current operating state being the suboptimal state, increasing a radius threshold and an angle threshold for positioning search, decreasing a step threshold for positioning search, and / or increasing a threshold for the number of iterations of nonlinear fusion optimization; or In response to the current operating state being the suboptimal state, map updating is turned off, and / or visual assistance is turned on.

7. The SLAM system decision method according to claim 1, characterized in that: The current observation data includes a laser point cloud, and the preset observation data includes a preset grid map; The calculating the degree of agreement between the current observation data of the SLAM system and the preset observation data includes: Mapping the laser point cloud to the preset grid map, and obtaining a grid in the preset grid map corresponding to the laser point cloud; In response to the state of the grid corresponding to the laser point cloud being an occupied state, determining that the laser point cloud is consistent with preset observation data; Calculate the ratio of the number of the matched grids to the total number of grids corresponding to the laser point cloud; The degree of agreement between the current observation data and the preset observation data is determined based on the proportion.

8. An electronic device, characterized in that: include: A memory and a processor coupled to each other, wherein the processor is used to execute program data stored in the memory to implement the SLAM system decision method according to any one of claims 1 to 7.

9. A computer storage medium, characterized in that: Program data is stored thereon, and the program data can be executed to implement the SLAM system decision-making method according to any one of claims 1 to 7.

10. A computer program product, characterized in that The method comprises computer program instructions, wherein the computer program instructions enable a computer to implement the SLAM system decision method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • GPU-based SLAM control method and device, and storage medium

    CN112612476A

  • Anti-impact scanning matching method and system based on multi-sensor decision fusion

    CN113566828A