CN110514199B - Loop detection method and device of SLAM system - Google Patents

Loop detection method and device of SLAM system Download PDF

Info

Publication number
CN110514199B
CN110514199B CN201910804329.6A CN201910804329A CN110514199B CN 110514199 B CN110514199 B CN 110514199B CN 201910804329 A CN201910804329 A CN 201910804329A CN 110514199 B CN110514199 B CN 110514199B
Authority
CN
China
Prior art keywords
carrier
loop
candidate
loopback
quantization index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910804329.6A
Other languages
Chinese (zh)
Other versions
CN110514199A (en
Inventor
杨旭
林元庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aibee Beijing Intelligent Technology Co Ltd
Original Assignee
Aibee Beijing Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aibee Beijing Intelligent Technology Co Ltd filed Critical Aibee Beijing Intelligent Technology Co Ltd
Priority to CN201910804329.6A priority Critical patent/CN110514199B/en
Priority to CN202110962668.4A priority patent/CN113670300A/en
Publication of CN110514199A publication Critical patent/CN110514199A/en
Application granted granted Critical
Publication of CN110514199B publication Critical patent/CN110514199B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The application discloses a loop detection method and a loop detection device of an SLAM system, and the method comprises the following steps: the method comprises the steps of obtaining environmental characteristics of an environment where a carrier is located, obtaining motion characteristics of the carrier, calculating loop detection confidence parameters of candidate loop positions determined based on a bag-of-words model according to the environmental characteristics and the motion characteristics, wherein the loop detection confidence parameters represent confidence degrees of the candidate loop positions which are historical loop positions where the carrier passes; and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result. Therefore, according to the environmental characteristics and the motion characteristics of the carrier, the confidence coefficient that the candidate loop position is the historical loop position that the carrier passes through once can be determined, and further, after the loop detection position with higher confidence coefficient is determined as the final loop detection result, the accuracy of the finally determined loop detection result can be improved.

Description

Loop detection method and device of SLAM system
Technical Field
The present disclosure relates to loop detection technologies, and in particular, to a loop detection method and device for an SLAM system.
Background
Currently, the SLAM (Simultaneous Localization And Mapping) System is generally used for Positioning And navigating a target carrier in a GPS (Global Positioning System) environment. The target carrier may be an autonomous moving carrier such as an unmanned vehicle, an unmanned plane, an unmanned ship, or a robot. In the SLAM system, the loop detection method is usually used to improve the global optimization accuracy and the target positioning accuracy.
The loop detection, which may also be referred to as closed loop detection, refers to that the autonomous mobile carrier identifies a scene where the autonomous mobile carrier is currently located as a scene once reached, so that a map established by the autonomous mobile carrier in a moving process forms a closed loop.
In practical application, a bag-of-words model method can be applied to carry out loop detection on the autonomous mobile carrier, namely, the characteristics in an image perceived by the autonomous mobile carrier in real time are classified into words, and the words corresponding to the image are compared with the words in a pre-established dictionary to determine whether the current scene of the autonomous mobile carrier is consistent with the scene once reached, so that loop detection is realized. However, when the bag-of-words model method is applied to the loop detection, the accuracy of the obtained loop detection result is not high, and erroneous judgment is easily caused.
Disclosure of Invention
The embodiment of the application provides a loop detection method and device of an SLAM system, and aims to improve the accuracy of a loop detection result determined based on a bag-of-words model.
In a first aspect, an embodiment of the present application provides a loop detection method for an SLAM system, where the method includes:
acquiring environmental characteristics of an environment where a carrier is located, acquiring motion characteristics of the carrier, and determining candidate loop positions of the carrier based on a bag-of-words model;
calculating a loop detection confidence parameter for the candidate loop position according to the environmental characteristic and the motion characteristic, wherein the loop detection confidence parameter represents the confidence degree that the candidate loop position is the historical loop position passed by the carrier;
and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result.
In some possible embodiments, the motion characteristics include a pitch angle, a roll angle, and a heading angle of the carrier, and the environment characteristics include magnetic field information of an environment in which the carrier is located.
In some possible embodiments, the acquiring the motion characteristics of the carrier includes:
acquiring specific force information output by an accelerometer arranged on the carrier;
and calculating the pitch angle, the roll angle and the course angle of the carrier according to the specific force information and the magnetic field information.
In some possible embodiments, the calculating a loop detection confidence parameter for the candidate loop position according to the environmental feature and the motion feature includes:
determining a quantization index vector of the carrier at the current position according to the environment characteristic and the motion characteristic;
obtaining a quantization index vector corresponding to the candidate loopback position;
and calculating to obtain a loopback detection confidence parameter aiming at the candidate loopback position according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position.
In some possible embodiments, the calculating, according to the vector of quantization indexes of the carrier at the current position and the vector of quantization indexes corresponding to the candidate loopback positions, a loopback detection confidence parameter for the candidate loopback positions includes:
calculating the absolute value of the difference of the modular lengths of all components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position;
and calculating to obtain a loop detection confidence parameter aiming at the candidate loop position according to the absolute value of the difference of the modular lengths of the components.
In a second aspect, an embodiment of the present application further provides a loop detection apparatus for a SLAM system, where the apparatus includes:
the acquisition module is used for acquiring the environmental characteristics of the environment where the carrier is located, acquiring the motion characteristics of the carrier and determining the candidate loop positions of the carrier based on the bag-of-words model;
a calculation module, configured to calculate a loop detection confidence parameter for the candidate loop position according to the environmental feature and the motion feature, where the loop detection confidence parameter represents a confidence that the candidate loop position is a historical loop position where the carrier passes through;
and the determining module is used for determining the candidate loop position as a loop detection result if the loop detection confidence parameter is greater than a preset threshold value.
In some possible embodiments, the motion characteristics include a pitch angle, a roll angle, and a heading angle of the carrier, and the environment characteristics include magnetic field information of an environment in which the carrier is located.
In some possible embodiments, the obtaining module includes:
the first acquisition unit is used for acquiring specific force information output by an accelerometer arranged on the carrier;
and the first calculation unit is used for calculating the pitch angle, the roll angle and the course angle of the carrier according to the specific force information and the magnetic field information.
In some possible embodiments, the calculation module includes:
a determining unit, configured to determine, according to the environmental feature and the motion feature, a quantization index vector of the carrier at the current position;
a second obtaining unit, configured to obtain a quantization index vector corresponding to the candidate loopback position;
and the second calculation unit is used for calculating and obtaining a loop detection confidence parameter aiming at the candidate loop position according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loop position.
In some possible embodiments, the second computing unit includes:
a first calculating subunit, configured to calculate an absolute value of a difference between modular lengths of components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position;
and the second calculation subunit is used for calculating a loop detection confidence parameter aiming at the candidate loop position according to the absolute value of the difference of the modular lengths of the components.
In the implementation manner of the embodiment of the present application, the confidence of the candidate loopback positions determined based on the bag of words model is determined according to the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier, so that the accuracy of the finally determined loopback detection result is improved according to the confidence. Specifically, the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier can be acquired, the candidate loop position of the carrier determined based on the bag-of-words model can be further calculated according to the environmental characteristics and the motion characteristics, and then a loop detection confidence parameter of the candidate loop position determined based on the bag-of-words model can be further calculated, wherein the loop detection confidence parameter represents the confidence degree that the candidate loop position is the historical loop position that the carrier has passed through; and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result. Therefore, although the accuracy of the finally determined loop detection result is low by directly determining the candidate loop position of the carrier obtained based on the bag-of-words model as the loop detection result, the confidence that the candidate loop position is the historical loop position that the carrier has passed through can be determined according to the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier. It can be understood that the higher the confidence is, the higher the possibility that the candidate loopback position is the historical loopback position that the carrier has passed through is, that is, the more likely the scene in which the carrier is currently located is the scene that the carrier has passed through, so that the higher the accuracy of taking the candidate loopback position as the loopback detection result is, and further, after the loopback detection position with the higher confidence is determined as the final loopback detection result, the accuracy of the finally determined loopback detection result can be improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art according to the drawings.
FIG. 1 is a schematic diagram of an exemplary application scenario in an embodiment of the present application;
fig. 2 is a schematic flowchart of a loop detection method of an SLAM system in an embodiment of the present application;
fig. 3 is a schematic structural diagram of a loop detection apparatus of an SLAM system in an embodiment of the present application.
Detailed Description
In practical application, when the loop detection is performed on the autonomously moving carrier based on the bag-of-words model, a detection result of false positive or false negative is easy to occur. The false positive refers to a scene where the carrier does not pass through (i.e. a scene where the carrier is currently located) is identified as a scene that the carrier passes through by mistake; the false negative is a scene where the carrier is not identified to pass repeatedly, that is, a scene where the carrier is currently located is not identified as a scene where the carrier has passed, or a scene where the carrier is currently located is wrongly corresponding to a scene that is actually different from the past scene. Therefore, the accuracy of the loop detection result obtained based on the existing bag-of-words model is not high.
Based on this, the embodiment of the present application provides a loop detection method for an SLAM system, which determines a confidence level of a candidate loop position determined based on a bag-of-words model according to an environmental characteristic of an environment where a carrier is located and a motion characteristic of the carrier, so as to improve accuracy of a finally determined loop detection result according to the confidence level. Specifically, the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier can be acquired, the candidate loop position of the carrier determined based on the bag-of-words model can be further calculated according to the environmental characteristics and the motion characteristics, and then a loop detection confidence parameter of the candidate loop position determined based on the bag-of-words model can be further calculated, wherein the loop detection confidence parameter represents the confidence degree that the candidate loop position is the historical loop position that the carrier has passed through; and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result. Therefore, although the accuracy of the finally determined loop detection result is low by directly determining the candidate loop position of the carrier obtained based on the bag-of-words model as the loop detection result, the confidence that the candidate loop position is the historical loop position that the carrier has passed through can be determined according to the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier. It can be understood that the higher the confidence is, the higher the possibility that the candidate loopback position is the historical loopback position that the carrier has passed through is, that is, the more likely the scene in which the carrier is currently located is the scene that the carrier has passed through, so that the higher the accuracy of taking the candidate loopback position as the loopback detection result is, and further, after the loopback detection position with the higher confidence is determined as the final loopback detection result, the accuracy of the finally determined loopback detection result can be improved.
As an example, the embodiment of the present application may be applied to an exemplary application scenario as shown in fig. 1. In this scenario, the user 101 may instruct (e.g., may instruct with a remote control or other controller, etc.) the robot 102 to perform a movement mapping; because the robot 102 may have some accumulated errors during the mapping process, the robot 102 may optimize the pose using loop detection based on the bag-of-words model. Specifically, the robot 102 may determine a candidate loopback position of the robot 102 based on the bag of words model, and since the candidate loopback position is not necessarily accurate, if the candidate loopback position is directly used as a final loopback detection result, the probability of occurrence of false positive or false negative is high, therefore, the robot 102 may further obtain an environmental feature of a current environment where the robot is located and obtain a motion feature of the robot, and calculate a loopback detection confidence parameter for the candidate loopback position according to the environmental feature and the motion feature, where the loopback detection confidence parameter represents a confidence level that the candidate loopback position is a historical loopback position that the robot 102 has passed through; if the loop detection confidence parameter is greater than the preset threshold, the robot 102 may determine the candidate loop position as the final loop detection result.
It is to be understood that the above scenario is only one example of a scenario provided in the embodiment of the present application, and the embodiment of the present application is not limited to this scenario. For example, in other possible application scenarios, the technical solution of the embodiment of the present application may also be applied to an autonomous movable carrier such as an unmanned aerial vehicle, an unmanned vehicle, and an unmanned ship. For another example, in some possible application scenarios, a corresponding operation interface may be provided on the robot, and the user 101 may directly implement control of the robot on the operation interface. In summary, the embodiments of the present application may be applied in any applicable scenario and are not limited to the scenario examples described above.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, various non-limiting embodiments accompanying the present application examples are described below with reference to the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present application and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 2, fig. 2 is a schematic flowchart illustrating a loop detection method of an SLAM system in an embodiment of the present application, where the method specifically includes:
s201: the method comprises the steps of obtaining environmental characteristics of the environment where a carrier is located, obtaining motion characteristics of the carrier, and determining candidate loop positions of the carrier based on a bag-of-words model.
In practical application, if the candidate loop positions determined based on the bag of words model are directly determined as the final loop detection result, false positives or false negatives are likely to occur, so that the accuracy of the loop detection result is low. Therefore, in the embodiment, candidate loop positions determined based on the bag-of-words model are screened based on the confidence level, so as to improve the accuracy of the loop detection result. It should be noted that, for determining the candidate loop positions of the carrier based on the bag-of-words model, there is a corresponding specific implementation process in the prior art, which is not described herein again. In addition, the carrier described in this embodiment may specifically be a carrier with an autonomous moving capability, such as an unmanned aerial vehicle, an unmanned ship, a robot, and the like.
In this embodiment, the confidence of the candidate loop positions may be determined based on the environmental characteristics of the current environment where the carrier is located and the motion characteristics of the carrier, so as to screen the candidate loop positions suitable as the loop detection result. Therefore, the candidate loop positions can be obtained, and simultaneously, the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier can also be obtained.
In an exemplary embodiment, the acquired environmental characteristic of the environment where the carrier is located may be magnetic field information of the environment where the carrier is located. In practical application, a magnetic sensor can be installed in the carrier, and then, in the carrier mapping process, the magnetic field information output by the magnetic sensor can be read. In a three-dimensional coordinate system (which may be referred to as a b-system, a body coordinate system, or a carrier coordinate system) established by the carrier itself, the read magnetic field information may specifically be components in three directions of an x-axis, a y-axis, and a z-axis, such as (Mx _ b, My _ b, Mz _ b).
The acquired motion characteristics of the carrier may specifically be a carrier pitch angle θ, a roll angle γ, a heading angle Ψ, and the like. Then, an accelerometer may be installed in the carrier, so that when the motion characteristics of the carrier are obtained, the specific force information under b series output by the accelerometer may be read, and the specific force information may also be components in three directions of an x axis, a y axis and a z axis, such as (fx _ b, fy _ b, fz _ b). Then, based on the specific force information and the acquired magnetic field information, the pitch angle θ, the roll angle γ, and the heading angle Ψ of the carrier can be calculated according to the following formula (1).
Figure BDA0002183196930000071
Wherein "g" in formula (1) represents the acceleration of gravity, and in one example, g can be 9.80665m/s 2; "D" is the declination at the location of the earth's carrier, which can be found by looking up a specific table.
Further, since the magnetic field information read from the magnetic sensor is based on the magnetic field information (Mx _ b, My _ b, Mz _ b) in the b-system, in practical applications, when the magnetic field information is processed, it may be necessary to convert the magnetic field information in the b-system into the magnetic field information (Mx _ n, My _ n, Mz _ n) in the n-system (i.e., navigation frame). Then, in the process of converting the magnetic field information under the b system into the magnetic field information under the n system, the coordinate conversion matrix between the two coordinate systems can be calculated according to the formula (2)
Figure BDA0002183196930000072
And then converting the matrix based on the coordinate
Figure BDA0002183196930000073
And magnetic field information (Mx _ b, My _ b, Mz _ b) of b system, and n is calculated according to the formula (3)Magnetic field information (Mx _ n, My _ n, Mz _ n) under the system.
Figure BDA0002183196930000074
Figure BDA0002183196930000075
S202: and calculating a loop detection confidence parameter aiming at the candidate loop position according to the acquired environmental characteristics and the motion characteristics, wherein the loop detection confidence parameter represents the confidence degree that the candidate loop position is the historical loop position passed by the carrier.
When the carrier moves to the same position successively (that is, the current position of the carrier coincides with the historical loop position that the carrier has passed), the environmental characteristics and the motion characteristics of the carrier at two same positions at different time points are generally the same, and therefore, the possibility that the candidate loop position is the historical loop position can be checked based on the environmental characteristics of the environment in which the carrier is located and the motion characteristics of the carrier. In a specific implementation, in this embodiment, for a candidate loopback position determined by using the bag of words model, a loopback detection confidence parameter may be calculated by using the obtained environmental features and the motion features, and the loopback detection confidence parameter is used to characterize the confidence of the candidate loopback position as the actual historical loopback position. The higher the confidence coefficient is, the higher the possibility that the candidate loopback position is the historical loopback position that the carrier has passed through is, and correspondingly, the more credible the candidate loopback position is taken as the final loopback detection result; conversely, the smaller the confidence, the lower the probability that the candidate loopback position is the historical loopback position, and accordingly, the less suitable the candidate loopback position is to be determined as the final loopback detection result.
As an exemplary implementation of calculating the loopback detection confidence parameter, a quantization index vector of the carrier at the current position may be determined according to the environmental characteristic and the motion characteristic, and a quantization index vector corresponding to the candidate loopback position is obtained. It can be understood that if the candidate loopback position determined based on the bag of words model is indeed a historical loopback position (the historical loopback position coincides with the current position of the carrier), the quantization index vector of the carrier at the current position should be substantially the same as the quantization index vector corresponding to the candidate loopback position; on the contrary, if the candidate loopback position determined based on the bag of words model is not the historical loopback position, the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position usually have a larger difference. Therefore, in this embodiment, a loop detection confidence parameter for the candidate loop position may be calculated according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loop position.
As an example, when the loop detection confidence parameter is calculated according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loop position, specifically, an absolute value of a difference between the modular lengths of the components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loop position may be calculated, and then, the corresponding loop detection confidence parameter may be further calculated according to the absolute value of the difference between the modular lengths of the components.
For example, assuming that the current position of the carrier is Pi, the quantization index vector of the carrier at Pi may be Qi ═ Ψ, Mx _ b, My _ b, Mz _ b, Mx _ n, My _ n, Mz _ n ], where Ψ is the heading angle of the carrier at the Pi position. The quantization index vector corresponding to the candidate loop position Px may be Qx ═ Ψ ', Mx _ b', My _ b ', Mz _ b', Mx _ n ', My _ n', Mz _ n '], where Ψ' is a heading angle corresponding to the carrier at the candidate loop position, Mx _ b ', My _ b', Mz _ b 'are components of the carrier in x-axis, y-axis, and z-axis directions based on the b-system magnetic field information at the candidate loop position, and Mx _ n', My _ n ', Mz _ n' are components of the carrier in x-axis, y-axis, and z-axis directions based on the n-system magnetic field information at the candidate loop position. Then, the absolute value of the difference between the modular lengths of the respective components in the quantization index vector Qi and the quantization index vector Qx can be calculated according to equation (4), where equation (4) is as follows:
ΔQ[k]=|Qi[k]|-|Qx[k]| (4)
where Δ qk represents the absolute value of the difference between the modular lengths of the kth component in the quantization index vectors Qi and Qx, and each quantization index vector in this example includes 7 components, the value of k may be 1 to 7 (in other embodiments, the value of k is determined by the number of components included in the quantization index vector), | Qi [ k ] | represents the absolute value of the modular length of the kth component in the quantization index vector Qi, and | Qx [ k ] | represents the absolute value of the modular length of the kth component in the quantization index vector Qx.
Then, a corresponding loop detection confidence parameter M can be further calculated according to equation (5) and equation (6). The following equations (5) and (6):
Figure BDA0002183196930000091
Figure BDA0002183196930000092
s203: and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result.
It can be understood that if the loopback detection confidence parameter is larger, specifically larger than a preset threshold, indicating that the candidate loopback position determined based on the bag of words model is a historical loopback position with higher reliability, the candidate loopback position can be determined as a final loopback detection result; if the confidence parameter of the loop detection is smaller, specifically not greater than the preset threshold, this indicates that if the candidate loop position is determined as the final loop detection result, there is a greater possibility that there is a false positive or a false negative in the loop detection result, and therefore, in some embodiments, the candidate loop position may be rejected from being determined as the loop detection result, and the loop detection may be performed again, or the like. Therefore, the candidate loop positions can be screened to a certain extent by utilizing the loop detection confidence parameters, so that only the candidate loop positions with higher confidence coefficient can be determined as loop detection results, and some candidate loop positions with higher possibility of generating false positive or false negative misjudgment can not be determined as loop detection results, thereby effectively improving the accuracy of the finally obtained loop detection results and reducing the misjudgment rate as much as possible.
In some possible embodiments, the value of the preset threshold may be any value within 0.7 to 1. And when the requirement on the accuracy of the loop detection result is high, the value of the preset threshold can be appropriately increased, for example, the value of the preset threshold can be taken in a range from 0.9 to 1.
Further, in practical applications, after the loop detection position is determined as the final loop detection result, the carrier (the SLAM system on the carrier) may perform global pose optimization based on the candidate loop position. Otherwise, the carrier may continue loop detection and repeat the above steps to screen candidate loop positions re-determined by the bag of words model based on the loop detection confidence parameters.
Of course, if the movement of the carrier is not finished, the above process can be repeated to perform loop detection; if the motion of the carrier is finished, the loop back detection process can be stopped and the SLAM system can be shut down.
In this embodiment, the environmental characteristics of the environment where the carrier is located, the motion characteristics of the carrier, and the candidate loop position of the carrier determined based on the bag-of-words model may be obtained, and then, according to the environmental characteristics and the motion characteristics, a loop detection confidence parameter of the candidate loop position determined based on the bag-of-words model may be further calculated, where the loop detection confidence parameter represents a confidence that the candidate loop position is a historical loop position through which the carrier has passed; and if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result. Therefore, although the accuracy of the finally determined loop detection result is low by directly determining the candidate loop position of the carrier obtained based on the bag-of-words model as the loop detection result, the confidence that the candidate loop position is the historical loop position that the carrier has passed through can be determined according to the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier. It can be understood that the higher the confidence is, the higher the possibility that the candidate loopback position is the historical loopback position that the carrier has passed through is, that is, the more likely the scene in which the carrier is currently located is the scene that the carrier has passed through, so that the higher the accuracy of taking the candidate loopback position as the loopback detection result is, and further, after the loopback detection position with the higher confidence is determined as the final loopback detection result, the accuracy of the finally determined loopback detection result can be improved.
In addition, the embodiment of the application also provides a loop detection device of the SLAM system. Referring to fig. 3, fig. 3 shows a loop detection apparatus of a SLAM system in an embodiment of the present application, where the apparatus 300 includes:
an obtaining module 301, configured to obtain an environmental characteristic of an environment where a carrier is located, obtain a motion characteristic of the carrier, and determine a candidate loop position of the carrier based on a bag-of-words model;
a calculating module 302, configured to calculate a loop detection confidence parameter for the candidate loop position according to the environmental feature and the motion feature, where the loop detection confidence parameter represents a confidence that the candidate loop position is a historical loop position where the carrier passes through;
a determining module 303, configured to determine the candidate loopback position as a loopback detection result if the loopback detection confidence parameter is greater than a preset threshold.
In some possible embodiments, the motion characteristics include a pitch angle, a roll angle, and a heading angle of the carrier, and the environment characteristics include magnetic field information of an environment in which the carrier is located.
In some possible embodiments, the obtaining module 301 includes:
the first acquisition unit is used for acquiring specific force information output by an accelerometer arranged on the carrier;
and the first calculation unit is used for calculating the pitch angle, the roll angle and the course angle of the carrier according to the specific force information and the magnetic field information.
In some possible embodiments, the calculating module 302 includes:
a determining unit, configured to determine, according to the environmental feature and the motion feature, a quantization index vector of the carrier at the current position;
a second obtaining unit, configured to obtain a quantization index vector corresponding to the candidate loopback position;
and the second calculation unit is used for calculating and obtaining a loop detection confidence parameter aiming at the candidate loop position according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loop position.
In some possible embodiments, the second computing unit includes:
a first calculating subunit, configured to calculate an absolute value of a difference between modular lengths of components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position;
and the second calculation subunit is used for calculating a loop detection confidence parameter aiming at the candidate loop position according to the absolute value of the difference of the modular lengths of the components.
It should be noted that the loop detection apparatus of the SLAM system in this embodiment corresponds to the loop detection method of the SLAM system in the above method embodiment, and therefore, the specific implementation thereof may refer to the description of the relevant points of the method embodiment, which is not described herein again.
In this embodiment, although the candidate loop position of the carrier obtained based on the bag-of-words model is directly determined as the loop detection result, so that the accuracy of the finally determined loop detection result is low, according to the environmental characteristics of the environment where the carrier is located and the motion characteristics of the carrier, the confidence coefficient that the candidate loop position is the historical loop position that the carrier has passed through can be determined. It can be understood that the higher the confidence is, the higher the possibility that the candidate loopback position is the historical loopback position that the carrier has passed through is, that is, the more likely the scene in which the carrier is currently located is the scene that the carrier has passed through, so that the higher the accuracy of taking the candidate loopback position as the loopback detection result is, and further, after the loopback detection position with the higher confidence is determined as the final loopback detection result, the accuracy of the finally determined loopback detection result can be improved.
In the names of the "first obtaining unit", "first calculating subunit", and the like, the "first" mentioned in the embodiments of the present application is only used for name identification, and does not represent the first in sequence. The same applies to "second" etc.
As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that all or part of the steps in the above embodiment methods can be implemented by software plus a general hardware platform. Based on such understanding, the technical solution of the present application may be embodied in the form of a software product, which may be stored in a storage medium, such as a read-only memory (ROM)/RAM, a magnetic disk, an optical disk, or the like, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network communication device such as a router) to execute the method according to the embodiments or some parts of the embodiments of the present application.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus embodiment, since it is substantially similar to the method embodiment, it is relatively simple to describe, and reference may be made to some descriptions of the method embodiment for relevant points. The above-described embodiments of the apparatus are merely illustrative, and the modules described as separate parts may or may not be physically separate, and the parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
The above description is only an exemplary embodiment of the present application, and is not intended to limit the scope of the present application.

Claims (4)

1. A loop detection method of a SLAM system, the method comprising:
acquiring environmental characteristics of an environment where a carrier is located, acquiring motion characteristics of the carrier, and determining a candidate loop position of the carrier based on a bag-of-words model, wherein the motion characteristics comprise a pitch angle, a roll angle and a course angle of the carrier, and the environmental characteristics are magnetic field information of the environment where the carrier is located;
calculating a loop detection confidence parameter for the candidate loop position according to the environmental characteristic and the motion characteristic, wherein the loop detection confidence parameter represents the confidence degree that the candidate loop position is the historical loop position passed by the carrier; wherein the calculating a loop detection confidence parameter for the candidate loop position according to the environmental feature and the motion feature comprises:
determining a quantization index vector of the carrier at the current position according to the environment characteristic and the motion characteristic;
obtaining a quantization index vector corresponding to the candidate loopback position;
calculating to obtain a loopback detection confidence parameter aiming at the candidate loopback position according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position;
if the loop detection confidence parameter is larger than a preset threshold value, determining the candidate loop position as a loop detection result;
wherein, the calculating to obtain a loopback detection confidence parameter for the candidate loopback position according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position includes:
calculating absolute values of differences between the modular lengths of the components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position, specifically:
ΔQ[k]=|Qi[k]|-|Qx[k]|;
wherein Δ Q [ k ] represents an absolute value of a difference between the modulo lengths of the kth component in the quantization index vectors Qi and Qx, k ═ 1,2, …,7, | Qi [ k ] | represents an absolute value of the modulo length of the kth component in the quantization index vector Qi, | Qx [ k ] | represents an absolute value of the modulo length of the kth component in the quantization index vector Qx; qi ═ Ψ, Mx _ b, My _ b, Mz _ b, Mx _ n, My _ n, Mz _ n ], where Ψ is a heading angle of the carrier at the current position, Mx _ b, My _ b, Mz _ b are components of the carrier in x-axis, y-axis, and z-axis directions based on b-system magnetic field information at the current position, and Mx _ n, My _ n, Mz _ n are components of the carrier in x-axis, y-axis, and z-axis directions based on n-system magnetic field information at the current position, respectively; qx ═ Ψ ', Mx _ b', My _ b ', Mz _ b', Mx _ n ', My _ n', Mz _ n '], wherein Ψ' is a heading angle corresponding to the carrier at the candidate loop back position, Mx _ b ', My _ b', Mz _ b 'are components of the carrier in x-axis, y-axis, and z-axis directions based on b-system magnetic field information at the candidate loop back position, respectively, and Mx _ n', My _ n ', Mz _ n' are components of the carrier in x-axis, y-axis, and z-axis directions based on n-system magnetic field information at the candidate loop back position, respectively;
calculating to obtain a loop detection confidence parameter for the candidate loop position according to the absolute value of the difference between the modular lengths of the components, specifically:
Figure FDA0003149897460000021
Figure FDA0003149897460000022
wherein M is a loop detection confidence parameter of the candidate loop position.
2. The method of claim 1, wherein the obtaining the motion characteristics of the carrier comprises:
acquiring specific force information output by an accelerometer arranged on the carrier;
and calculating the pitch angle, the roll angle and the course angle of the carrier according to the specific force information and the magnetic field information.
3. A loop detection apparatus of a SLAM system, the apparatus comprising:
the acquisition module is used for acquiring environmental characteristics of the environment where the carrier is located, acquiring motion characteristics of the carrier and determining a candidate loop position of the carrier based on a bag-of-words model, wherein the motion characteristics comprise a pitch angle, a roll angle and a course angle of the carrier, and the environmental characteristics are magnetic field information of the environment where the carrier is located;
a calculation module, configured to calculate a loop detection confidence parameter for the candidate loop position according to the environmental feature and the motion feature, where the loop detection confidence parameter represents a confidence that the candidate loop position is a historical loop position where the carrier passes through;
the calculation module comprises:
the determining unit is used for determining a quantization index vector of the carrier at the current position according to the environment characteristic and the motion characteristic;
a second obtaining unit, configured to obtain a quantization index vector corresponding to the candidate loopback position;
a second calculating unit, configured to calculate, according to the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position, a loopback detection confidence parameter for the candidate loopback position;
a determining module, configured to determine the candidate loopback position as a loopback detection result if the loopback detection confidence parameter is greater than a preset threshold;
wherein the second computing unit includes:
a first calculating subunit, configured to calculate an absolute value of a difference between modular lengths of components in the quantization index vector of the carrier at the current position and the quantization index vector corresponding to the candidate loopback position, specifically:
ΔQ[k]=|Qi[k]|-|Qx[k]|;
wherein Δ Q [ k ] represents an absolute value of a difference between the modulo lengths of the kth component in the quantization index vectors Qi and Qx, k ═ 1,2, …,7, | Qi [ k ] | represents an absolute value of the modulo length of the kth component in the quantization index vector Qi, | Qx [ k ] | represents an absolute value of the modulo length of the kth component in the quantization index vector Qx; qi ═ Ψ, Mx _ b, My _ b, Mz _ b, Mx _ n, My _ n, Mz _ n ], where Ψ is a heading angle of the carrier at the current position, Mx _ b, My _ b, Mz _ b are components of the carrier in x-axis, y-axis, and z-axis directions based on b-system magnetic field information at the current position, and Mx _ n, My _ n, Mz _ n are components of the carrier in x-axis, y-axis, and z-axis directions based on n-system magnetic field information at the current position, respectively; qx ═ Ψ ', Mx _ b', My _ b ', Mz _ b', Mx _ n ', My _ n', Mz _ n '], wherein Ψ' is a heading angle corresponding to the carrier at the candidate loop back position, Mx _ b ', My _ b', Mz _ b 'are components of the carrier in x-axis, y-axis, and z-axis directions based on b-system magnetic field information at the candidate loop back position, respectively, and Mx _ n', My _ n ', Mz _ n' are components of the carrier in x-axis, y-axis, and z-axis directions based on n-system magnetic field information at the candidate loop back position, respectively;
a second calculating subunit, configured to calculate, according to an absolute value of a difference between the modular lengths of the components, a loop detection confidence parameter for the candidate loop position, where the calculating is specifically:
Figure FDA0003149897460000041
Figure FDA0003149897460000042
wherein M is a loop detection confidence parameter of the candidate loop position.
4. The apparatus of claim 3, wherein the obtaining module comprises:
the first acquisition unit is used for acquiring specific force information output by an accelerometer arranged on the carrier;
and the first calculation unit is used for calculating the pitch angle, the roll angle and the course angle of the carrier according to the specific force information and the magnetic field information.
CN201910804329.6A 2019-08-28 2019-08-28 Loop detection method and device of SLAM system Active CN110514199B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910804329.6A CN110514199B (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system
CN202110962668.4A CN113670300A (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910804329.6A CN110514199B (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110962668.4A Division CN113670300A (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system

Publications (2)

Publication Number Publication Date
CN110514199A CN110514199A (en) 2019-11-29
CN110514199B true CN110514199B (en) 2021-10-22

Family

ID=68627654

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910804329.6A Active CN110514199B (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system
CN202110962668.4A Pending CN113670300A (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110962668.4A Pending CN113670300A (en) 2019-08-28 2019-08-28 Loop detection method and device of SLAM system

Country Status (1)

Country Link
CN (2) CN110514199B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115290066A (en) * 2022-07-06 2022-11-04 杭州萤石软件有限公司 Error correction method and device and mobile equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106780608A (en) * 2016-11-23 2017-05-31 北京地平线机器人技术研发有限公司 Posture information method of estimation, device and movable equipment
CN108303099A (en) * 2018-06-14 2018-07-20 江苏中科院智能科学技术应用研究院 Autonomous navigation method in unmanned plane room based on 3D vision SLAM
CN108665540A (en) * 2018-03-16 2018-10-16 浙江工业大学 Robot localization based on binocular vision feature and IMU information and map structuring system
CN109409418A (en) * 2018-09-29 2019-03-01 中山大学 A kind of winding detection method based on bag of words
CN109682385A (en) * 2018-11-05 2019-04-26 天津大学 A method of instant positioning and map structuring based on ORB feature

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805149A (en) * 2017-05-05 2018-11-13 中兴通讯股份有限公司 A kind of winding detection method and device of visual synchronization positioning and map structuring
CN109995799B (en) * 2017-12-29 2020-12-29 Oppo广东移动通信有限公司 Information pushing method and device, terminal and storage medium
CN108253958B (en) * 2018-01-18 2020-08-11 亿嘉和科技股份有限公司 Robot real-time positioning method in sparse environment
CN110044354B (en) * 2019-03-28 2022-05-20 东南大学 Binocular vision indoor positioning and mapping method and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106780608A (en) * 2016-11-23 2017-05-31 北京地平线机器人技术研发有限公司 Posture information method of estimation, device and movable equipment
CN108665540A (en) * 2018-03-16 2018-10-16 浙江工业大学 Robot localization based on binocular vision feature and IMU information and map structuring system
CN108303099A (en) * 2018-06-14 2018-07-20 江苏中科院智能科学技术应用研究院 Autonomous navigation method in unmanned plane room based on 3D vision SLAM
CN109409418A (en) * 2018-09-29 2019-03-01 中山大学 A kind of winding detection method based on bag of words
CN109682385A (en) * 2018-11-05 2019-04-26 天津大学 A method of instant positioning and map structuring based on ORB feature

Also Published As

Publication number Publication date
CN110514199A (en) 2019-11-29
CN113670300A (en) 2021-11-19

Similar Documents

Publication Publication Date Title
CN109270545B (en) Positioning true value verification method, device, equipment and storage medium
CN110081881B (en) Carrier landing guiding method based on unmanned aerial vehicle multi-sensor information fusion technology
WO2018026544A1 (en) Square-root multi-state constraint kalman filter for vision-aided inertial navigation system
CN111338383B (en) GAAS-based autonomous flight method and system, and storage medium
CN110717927A (en) Indoor robot motion estimation method based on deep learning and visual inertial fusion
US20210183100A1 (en) Data processing method and apparatus
CN111829532B (en) Aircraft repositioning system and method
CN109752003A (en) A kind of robot vision inertia dotted line characteristic positioning method and device
CN113748357A (en) Attitude correction method, device and system of laser radar
US11568598B2 (en) Method and device for determining an environment map by a server using motion and orientation data
CN113238554A (en) Indoor navigation method and system based on SLAM technology integrating laser and vision
Magree et al. Monocular visual mapping for obstacle avoidance on UAVs
Garcia et al. Real-time navigation for drogue-type autonomous aerial refueling using vision-based deep learning detection
Xian et al. Fusing stereo camera and low-cost inertial measurement unit for autonomous navigation in a tightly-coupled approach
CN110514199B (en) Loop detection method and device of SLAM system
CN114355959B (en) Attitude output feedback control method, device, medium and equipment for aerial robot
CN114217303A (en) Target positioning and tracking method and device, underwater robot and storage medium
Miller et al. UAV navigation based on videosequences captured by the onboard video camera
Emran et al. Hybrid low-cost approach for quadrotor attitude estimation
CN115540854A (en) Active positioning method, equipment and medium based on UWB assistance
KR20200032776A (en) System for information fusion among multiple sensor platforms
Yan et al. Horizontal velocity estimation via downward looking descent images for lunar landing
CN114593735A (en) Pose prediction method and device
Artemciukas et al. Kalman filter for hybrid tracking technique in augmented reality
CN112509006A (en) Sub-map recovery fusion method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant