A landmark-based positioning success determination method, chip and robot
By judging the distribution of landmark feature points and using a multiple confirmation mechanism, the problem of positioning error caused by the excessive concentration of feature points in robot SLAM is solved, improving the positioning success rate and accuracy. Parallel processing is performed using a chip.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AMICRO SEMICONDUCTOR CO LTD
- Filing Date
- 2022-08-05
- Publication Date
- 2026-07-07
AI Technical Summary
In the process of robot SLAM, vision-based or laser-based localization methods are prone to accumulating errors in areas where feature points are too concentrated, resulting in inaccurate localization.
By judging the density of feature points of road signs and the consistency of positioning data, a multiple confirmation mechanism is adopted to confirm successful road sign positioning. The difference between the road sign index number and the positioning data is used to judge the positioning accuracy, and the chip is configured to perform parallel processing.
This improved the robot's localization success rate in areas with overly concentrated feature points, reduced error accumulation, and achieved higher localization accuracy.
Smart Images

Figure CN117539234B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robot map positioning information processing, specifically involving a landmark-based positioning success judgment method, chip, and robot. Background Technology
[0002] In a context understandable to those skilled in the art, SLAM (simultaneous localization and mapping) involves a robot performing localization, mapping, and navigation in an unknown environment. There are two main SLAM technologies: laser SLAM (based on lidar for mapping and navigation) and visual SLAM (vSLAM, based on monocular / binocular camera vision for mapping and navigation). Due to sensor errors and ambient lighting conditions, both vision-based and laser-based localization of the robot itself and landmarks can be inaccurate, especially in areas with highly concentrated (densely distributed) feature points, such as glass walls or long corridors. These areas accumulate a large amount of pose information, making it easy for errors to accumulate. Summary of the Invention
[0003] To address the aforementioned technical problems, this invention discloses a method, chip, and robot for determining successful localization based on landmarks. The method determines successfully located landmarks based on the concentration of feature points corresponding to those landmarks. The specific technical solution is as follows:
[0004] A landmark-based method for determining successful localization includes: Step 1: When the robot repeatedly determines that the same landmark is located, it determines whether the concentration of the feature points corresponding to the landmark is within a preset density threshold range. If yes, it proceeds to Step 2; otherwise, it determines that the landmark is located successfully. Step 2: When the robot determines that at least one reference landmark is located consistent with the landmark described in Step 1, it determines that the landmark described in Step 1 is located successfully. The reference landmark is different from the landmark described in Step 1, and the reference landmark is a landmark with a non-concentrated distribution of feature points.
[0005] Furthermore, the robot is configured to represent each landmark by at least two feature points; whenever the robot detects that the Euclidean distance between the two feature points representing the same landmark is less than a preset distance threshold, it counts once by setting a density count value; after the robot has repeatedly detected the Euclidean distance between any two feature points representing the same landmark, it determines whether the ratio of the density count value to the robot's total number of detections is within the preset density threshold range. If it is, it determines that the feature points corresponding to the landmark are concentrated; otherwise, it determines that the feature points corresponding to the landmark are not concentrated. The robot configures the ratio of the density count value to the robot's total number of detections as the concentration.
[0006] Furthermore, the robot assigns an index number to each landmark to distinguish different landmarks. When the robot determines that the difference between the landmark positioning data corresponding to the same index number obtained successively meets the preset error condition, it determines that the landmark corresponding to the index number is consistent in positioning. After the number of times the landmark corresponding to the same index number is determined to be consistent in positioning reaches a preset number, the robot begins to determine whether the concentration of the feature points corresponding to the landmark is within the preset density threshold range.
[0007] Furthermore, the robot assigns an index number to each landmark to distinguish different landmarks; when the robot determines that the difference between the positioning data of a landmark corresponding to one index number and the positioning data of a landmark corresponding to another index number meets a preset error condition, it determines that the landmarks corresponding to the two index numbers are positioned consistent; wherein, the index number of the reference landmark is different from the index number of the landmark described in step 1.
[0008] Furthermore, the positioning data of the landmark includes coordinate offset and rotation angle; the difference between the positioning data of two different landmarks and / or the difference between the positioning data of the same landmark at different times includes the difference in coordinate offset in the X-axis direction, the difference in coordinate offset in the Y-axis direction, and the difference in rotation angle; during the process of the robot detecting the difference between the two positioning data, when the robot detects that the absolute value of the difference in coordinate offset in the X-axis direction is less than the first preset translation error value, and the absolute value of the difference in coordinate offset in the Y-axis direction is less than the second preset translation error value, and the absolute value of the difference in rotation angle is less than the preset angle error value, it is determined that the difference between the two positioning data meets the preset error condition.
[0009] Furthermore, the positioning data includes the conversion relationship between the pose of the same landmark in the historical map and the pose in the current map; or the positioning data includes the conversion relationship between the map coordinate system of the historical map and the map coordinate system of the current map; the conversion relationship is represented by rotation angle and coordinate offset, or the conversion relationship is represented by a rotation matrix calculated from the rotation angle and a translation vector calculated from the coordinate offset; each landmark corresponds to one positioning data.
[0010] Furthermore, the positioning success determination method also includes: the robot sequentially stores the positioning data of successfully positioned landmarks into a linear storage space, and configures an index address for the positioning data stored in the linear storage space; the robot stores the positioning data of one landmark into the same linear storage space within each preset time period.
[0011] A chip, assembled in a robot, is used to control the robot to execute the positioning success determination method, so as to support parallel processing of the positioning data of landmarks, including the coordinate offset in the X-axis direction, the coordinate offset in the Y-axis direction, and the rotation angle.
[0012] A robot is equipped with a vision sensor on its body; the robot is also equipped with the aforementioned chip, which is used to determine whether the landmark captured by the vision sensor has been successfully located.
[0013] The beneficial technical effects of this invention are as follows: During the positioning and navigation process using a robot map, the robot can confirm the consistency of the positioning data of the same landmark after multiple confirmations. When it is determined that the feature point distribution of a landmark is relatively sparse, the landmark is considered to have been successfully positioned. When it is determined that the feature point distribution of a landmark is concentrated but the landmark is consistent with the positioning of other landmarks with dispersed feature point distributions, the landmark with concentrated feature point distributions can also be considered to have been successfully positioned. Thus, the successful positioning of a landmark can be determined from the changes in the positioning data generated by the landmark itself at different times and the differences between the positioning data of the landmark and the positioning data of other landmarks. This overcomes the positioning errors that exist in landmarks with excessively concentrated feature point distributions and is beneficial for extracting landmarks and their positioning data with a high success rate. Attached Figure Description
[0014] Figure 1 This is a flowchart of a landmark-based location success determination method disclosed in one embodiment of the present invention. Detailed Implementation
[0015] To facilitate understanding and implementation of the present invention by those skilled in the art, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the embodiments described herein are for illustration and explanation only and are not intended to limit the present invention. The technical solutions of the present invention will be further described in detail below through embodiments and with reference to the accompanying drawings.
[0016] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0017] Note that, in practice, "further," "preferably," "even further," and "more preferably" are simply starting points for describing another embodiment based on the foregoing embodiments. The combination of the content following "further," "preferably," "even further," or "more preferably" with the foregoing embodiments constitutes the complete configuration of another embodiment. Any combination of several "further," "preferably," "even further," or "more preferably" settings following the same embodiment can form yet another embodiment.
[0018] This invention provides a landmark-based method for determining successful localization. The method is executed by a robot, specifically a robot with an internally stored historical map, where landmarks have been pre-localized. The robot moves on the ground using drive wheels mounted on its bottom. After starting to move, the robot uses visual sensors (such as a monocular camera, binocular camera, or depth camera) to collect landmarks within its environment from various angles. The terrain contours on the map describe the robot's current environment. The previously constructed map or an earlier map is considered a historical map of the robot's current environment. Both the historical map and the current map, including the robot's environment, are abstracted into a series of landmarks. The diagram is constructed where landmarks represent scene points in the indoor environment. Landmarks are configured as reference objects for robot localization or as reference coordinate positions within the robot map, and can be represented by multiple feature points, particularly within the image coordinate system, where feature points at multiple adjacent pixel coordinate positions represent the same landmark. The landmark localization data includes the transformation relationship between the pose of the same landmark in the historical map and its pose in the current map; or the localization data includes the transformation relationship between the map coordinate system of the historical map and the map coordinate system of the current map. This enables the transformation of the coordinate system between the current map and the historical map, or the transformation of the raster coordinates between the current map and the historical map, specifically involving rotation transformation (rotation matrix takes effect) and translation transformation (displacement vector takes effect). The current map is an environmental map constructed in real-time by the robot within a preset working area. The transformation relationship is represented by rotation angle and coordinate offset, or by a rotation matrix calculated from the rotation angle and a translation vector calculated from the coordinate offset; each landmark corresponds to one set of localization data, specifically the rotation angle and coordinate offset included in one set of localization data for each landmark. Preferably, the robot can pre-set a landmark database. The landmark database includes a set of landmark images obtained by exploring and visiting the same physical location multiple times under different ground media, lighting and other conditions. The landmarks are generally represented by objects on the walking plane that are not easily deformed, such as the supporting legs of furniture, door frames, walls, corridor lines, indoor columns, and step surfaces in the robot's environment.
[0019] In this embodiment, a method for determining successful positioning based on landmarks is disclosed. The method includes: Step 1: When the robot repeatedly determines that the same landmark is consistently positioned, it determines whether the concentration of the feature points corresponding to the landmark is within a preset density threshold range. If so, it is determined that the feature point distribution corresponding to the landmark is too concentrated and may accumulate sensor measurement errors. Then, Step 2 is executed to obtain relatively accurate positioning data (the conversion relationship between historical maps and the current map) and the coordinate location information of the landmark. Otherwise, it is determined that the feature point distribution corresponding to the landmark is not concentrated or has met the predetermined concentration level, and the landmark is determined to be successfully positioned. Step 2: When the robot determines that at least one reference landmark is consistent with the landmark positioning described in Step 1, the landmark positioning described in Step 1 is determined to be successful. The reference landmark is different from the landmark described in Step 1, and the reference landmark belongs to the category of landmarks with a non-concentrated feature point distribution. Specifically, when the robot determines that the feature points corresponding to a current landmark are concentrated, and there are also landmarks to which feature points that are not concentrated are in a consistent positioning state with the current landmark, the current landmark is determined to be a successfully located landmark. Otherwise, the current landmark is determined not to be a successfully located landmark, and the positioning of the current landmark may have failed. Note that the landmarks to which the feature points are not concentrated are two different landmarks, and the corresponding positioning data acquisition times may differ.
[0020] It should be noted that when the robot determines that the associated location information of a landmark is the same within the allowable error range, or the distance between the associated feature points of the landmark is relatively small, the landmark is considered to have consistent location, or the landmark is considered to have consistent location at different times, and this is considered to have passed the initial screening. Specifically, the robot's continuous determination that the same landmark is in a consistent location state can be manifested as the robot obtaining consistent location data for the same landmark at different times.
[0021] In summary, during the positioning and navigation process using a robot map, the robot can confirm the consistency of positioning data for the same landmark multiple times. When it determines that the feature point distribution of a landmark is relatively sparse (which can be considered as the feature point distribution corresponding to the landmark not being excessively concentrated), it can determine that the landmark has been successfully positioned. When it determines that the feature point distribution of a landmark is concentrated but the landmark is consistent or identical in positioning with other landmarks whose feature point distribution is not concentrated, it can also determine that the landmark with concentrated feature point distribution has been successfully positioned. This allows the robot to determine whether the landmark has been successfully positioned based on the changes in the landmark's own positioning data at different times and the differences between the landmark's positioning data and the positioning data of other landmarks. This overcomes the positioning errors that exist in landmarks with excessively concentrated feature point distribution and is beneficial for extracting landmarks and their positioning data with a high success rate.
[0022] As one example, after the robot begins using a landmark for visual navigation and localization, it needs to first assess the success rate of landmark localization, such as... Figure 1 As shown, the specific methods for determining successful location tracking include:
[0023] Step A1: The robot checks whether the number of times the same landmark has been identified as having the same location has reached a preset number. If yes, proceed to step A3; otherwise, proceed to step A2. The preset number is preferably 3. The specific value of the preset number can be determined based on the distribution density of the feature points corresponding to the landmark. Specifically, the distance between two feature points is used to describe the distribution density of the feature points. The greater the distance between two feature points, the lower the distribution density of the corresponding feature points; the smaller the distance between two feature points, the higher the distribution density of the corresponding feature points.
[0024] Step A2: The robot determines whether the positioning data of the landmarks obtained in step A1 are consistent. If they are, step A1 is executed. Otherwise, the positioning of the landmarks in step A1 is determined to be unsuccessful. The robot then traverses another landmark for visual navigation and repeatedly determines whether the positioning data of the other landmark at different times are consistent until all the landmarks currently collected by the robot have been traversed.
[0025] Step A3: Determine whether the concentration of the feature points corresponding to the road sign mentioned in step A1 is within the preset density threshold range. If yes, it is determined that the feature points corresponding to the road sign are concentrated, but it is not determined whether the road sign is a successfully located road sign due to the excessive concentration of feature points. Then proceed to step A5. Otherwise, proceed to step A4.
[0026] Step A4: Determine that the feature points corresponding to the road sign mentioned in step A1 are not concentrated and confirm that the road sign has been successfully located. Then, traverse another road sign for visual navigation and repeat the aforementioned steps.
[0027] Step A5: The robot determines whether there is a reference landmark whose location matches the landmark described in Step A1. If yes, proceed to Step A6; otherwise, directly determine that the landmark location described in Step A1 failed. The reference landmark is a landmark belonging to feature points that are not concentrated in one location and is different from the landmark described in Step A1. Therefore, when determining that the feature points corresponding to the landmark described in Step A1 are concentrated, it is necessary to determine whether there are other landmarks (with a relatively low concentration of feature points) whose location matches the landmark described in Step A1. In Step A5, determining that the reference landmark and the landmark described in Step A1 are in a consistent location state is specifically manifested by determining that the location data of the reference landmark obtained within the same time period is consistent with the location data of the landmark described in Step A1, or by determining that the location data of the reference landmark obtained later is consistent with the location data of the landmark described in Step A1 obtained earlier.
[0028] Step A6: Confirm that the landmark location described in Step A1 was successful. Therefore, a landmark must be in the same location state multiple times within a certain period of time for the landmark to be considered successfully located.
[0029] In summary, this judgment method obtains successfully located landmarks through steps A4 and A6, filters all landmarks currently collected by the robot, and then obtains the target positioning data (positioning data of successfully located landmarks) mentioned in step S1. Especially for areas where image feature points are too concentrated (densely distributed), such as areas with glass walls or long corridors where a large number of feature points are densely distributed, this method overcomes the positioning error accumulated by a large number of feature points excessively concentrated in the same small area by repeatedly judging whether the same landmark is consistently located and judging whether two different landmarks are consistently located.
[0030] Specifically, in step A3, the robot configures each landmark to be represented by at least two feature points; and configures a density count value to indicate the number of times the feature points corresponding to the landmark are detected as densely distributed; whenever the robot detects that the Euclidean distance between two feature points representing the same landmark is less than a preset distance threshold, specifically, the distance between the coordinate positions of the two feature points in the image coordinate system is less than the preset distance threshold, the robot counts the density count value once, and the density count value is configured to increment by one starting from the value 0; after the robot has repeatedly detected the Euclidean distance between any two feature points representing the same landmark, it determines whether the ratio of the density count value to the total number of detections accumulated by the robot is within the preset density threshold range. If it is, it determines that the feature points corresponding to the landmark are densely distributed; otherwise, it determines that the feature points corresponding to the path are not densely distributed. In some embodiments, when it is determined that the ratio of the density count value to the total number of detections accumulated by the robot is greater than the preset density threshold, it determines that the feature points corresponding to the landmark are densely distributed; otherwise, it determines that the feature points corresponding to the path are not densely distributed. In this embodiment, the robot configures the concentration degree as the ratio of the density count value to the robot's total number of detections. This concentration degree can be stored in the information structure of the corresponding detected landmark to describe the proportion of densely distributed feature points in a local area. Each time the robot calculates the Euclidean distance between two feature points representing the same landmark, it counts as one detection. Preferably, the preset density degree threshold is within the range of 60% to 80%. The preset distance threshold is set to less than 3, generally between 0 and 1. This allows the distance between two feature points corresponding to a landmark to describe the density of the feature point distribution of the same landmark. In this embodiment, among the feature points representing the same landmark, if every two feature points are counted as a feature point pair, there are feature point pairs that are very close to each other exceeding a certain percentage (corresponding to the ratio of the density count value to the robot's total number of detections, i.e., the concentration degree). These are considered landmarks with a relatively high density of feature point distribution, meaning that the feature point distribution corresponding to this landmark is concentrated, or even over-concentrated, and subsequent filtering of positioning errors is required.
[0031] Specifically, in step A2, the robot pre-configures an index number for each landmark. This index number serves as the identification information for each landmark, distinguishing different landmarks within the same linear storage space, image coordinate system, robot map, or the robot's actual environment, facilitating the retrieval of the corresponding landmark's location data. Based on this, when the robot determines that the differences in location data between landmarks corresponding to the same index number meet a preset error condition, it determines that the landmark corresponding to that index number is consistently located. This can also be understood as the landmark's location information in the current map being consistent with its location information in the historical map. In some embodiments, this can be considered as the landmark being consistent across different time periods. The positioning is the same, meaning that the coordinates of the landmark are always calculated to be at the same location. The difference in the positioning data of the landmark corresponding to the same index number at different times refers to the difference in pose information. The preset error condition represents the error threshold information of the corresponding coordinate difference and angle difference. After the landmark corresponding to the same index number is judged to be positioned the same a preset number of times (which can be obtained by the judgment method in step A1), it can be considered that the same landmark has been positioned the same multiple times. Only then can the error interference in the positioning data be reduced, and then the concentration of the feature points corresponding to the landmark is judged to be greater than the preset density threshold in order to determine whether the landmark has been successfully positioned.
[0032] Specifically, in step A5, the robot assigns an index number to each landmark to distinguish different landmarks. Each index number corresponds to a landmark and its positioning data. When the robot determines that the difference between the positioning data of a landmark corresponding to one index number and the positioning data of a landmark corresponding to another index number meets a preset error condition, it determines that the landmarks corresponding to the two index numbers are in a consistent positioning state. It should be noted that when the landmark corresponding to one index number is the reference landmark, the landmark mentioned in step 1 is the landmark corresponding to the other index number. The acquisition time of their positioning data can be the same or different. Here, the two index numbers are different, that is, the index number of the reference landmark is different from the index number of the landmark mentioned in step 1. However, the difference between the positioning data is considered to meet the preset error condition only when the positioning data of the two corresponding landmarks are relatively close, that is, when the pose information of each dimension is relatively close. The preset error condition represents the error threshold information of the corresponding coordinate difference and angle difference. This judgment method is applicable to any two different landmarks collected by the robot, improving the robustness of the landmark positioning success judgment method.
[0033] Based on the aforementioned embodiments, the location data of a road sign includes coordinate offset and rotation angle, specifically the transformation relationship between the map coordinate system of the historical map and the map coordinate system of the current map. The rotation angle includes the angle between the X-axis of the historical map coordinate system and the X-axis of the current map coordinate system. The coordinate offset includes the X-axis and Y-axis coordinate offsets between the origin of the historical map coordinate system and the origin of the current map coordinate system. Specifically, the difference between the location data of two different road signs and / or the difference in the location data of the same road sign at different times includes the difference in coordinate offsets in the X-axis direction, the difference in coordinate offsets in the Y-axis direction, and the difference in rotation angles. During the process of the robot detecting the difference between two sets of location data (whether for the same road sign or different road signs), when the robot detects that the absolute value of the difference in coordinate offsets in the X-axis direction is less than a first preset translation error value, the absolute value of the difference in coordinate offsets in the Y-axis direction is less than a second preset translation error value, and the absolute value of the difference in rotation angles is less than a preset angle error value, the difference between the two sets of location data is determined to meet the preset error condition. To improve the accuracy of the judgment, the values of the first preset translation error value, the second preset translation error value, and the difference in rotation angle are all configured to adapt to sensor measurement errors or map positioning errors. In some embodiments, for every two positioning data points acquired by the robot, it is allowed to simultaneously calculate the absolute value of the difference in coordinate offsets in the X-axis direction, the absolute value of the difference in coordinate offsets in the Y-axis direction, and the absolute value of the difference in rotation angle; it is also allowed to calculate the absolute values of the difference in coordinate offsets in the X-axis direction, the absolute value of the difference in coordinate offsets in the Y-axis direction, and the absolute value of the difference in rotation angle in chronological order.
[0034] As one embodiment, the robot can sequentially store positioning data into a linear storage space. Preferably, the robot uses a first-in, first-out queue to store the positioning data. Furthermore, the robot assigns an index number to the positioning data stored in the linear storage space. Specifically, each time a piece of positioning data is stored in the linear storage space, a count is incremented. The resulting count value represents the number of target positioning data stored in the linear storage space, which can correspond to the number of stored landmarks. This count value can be associated with the index number of the positioning data or with the order of the positioning data's storage address within the linear storage space, facilitating the robot's search for the corresponding target positioning data. In some embodiments, the index number is configured to be associated with the storage address of the linear storage space.
[0035] In this embodiment, a positioning data point is represented as a combination of a set of coordinate offsets (including X-axis and Y-axis) and a rotation angle. That is, storing a positioning data point represents storing the corresponding set of coordinate offsets (including X-axis and Y-axis) and a rotation angle. In this embodiment, the robot is configured to store only one positioning data point for each landmark in the same linear storage space, and the storage time needs to be recorded. This ensures that the positioning data of the same landmark can only be stored once within a certain time period, avoiding the storage of target positioning data that has exceeded the time limit and reducing the accumulation of errors.
[0036] In some embodiments, the robot initially stores positioning data or landmarks in the linear storage space at a value of 0. Each time positioning data is stored in the linear storage space, a preset address offset is added to the storage address to form the storage address of the next landmark or positioning data to be stored. This continues until the address value of the current storage address plus the preset address offset equals the maximum address value of the queue, that is, the number of positioning data stored in the queue equals the preset maximum capacity of positioning data, at which point the queue is full. Before the queue is full, the number of valid target positioning data stored in the queue equals the number of address offsets. After the queue is full, the number of valid target positioning data stored in the queue equals the preset maximum capacity of positioning data.
[0037] Based on the foregoing embodiments, the present invention also discloses a chip, which is assembled in a robot. The chip is used to control the robot to execute the positioning success judgment method, so as to support the parallel processing of the coordinate offset in the X-axis direction, the coordinate offset in the Y-axis direction, and the rotation angle included in the positioning data of the landmark. This includes parallel calculation of the difference in coordinate offset and the difference in rotation angle between two positioning data (from the same landmark or different landmarks), and can also compare the absolute value of the difference with a preset error value in parallel, so as to speed up the determination of whether the difference between the two positioning data in steps A2 and A5 meets the preset error condition, and realize efficient and accurate judgment of whether the corresponding landmark is successfully positioned.
[0038] It should be understood that various parts of the present invention can be implemented in hardware, software, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0039] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it includes one or a combination of the steps of the method embodiments. Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc.
[0040] The present invention also discloses a robot equipped with a main control chip. The robot's body is equipped with a vision sensor, including a monocular camera or a binocular camera. The main control chip is the chip disclosed in the foregoing embodiments, used to determine whether the landmarks collected by the vision sensor have been successfully located, so as to promote the robot to perform visual navigation.
[0041] It should be noted that the robot can acquire the pose information of a location within the current map, and then, by combining the transformation relationship between the current map and historical maps, calculate the pose information of that location within the historical map, thereby achieving localization on the historical map. Specifically, the pose information of the location within the current map is calculated by the robot during the scanning of the surrounding environment using a ranging sensor. This is achieved by establishing a triangulation model based on point cloud data scanned by a laser sensor or two consecutive frames of images acquired by a vision sensor. Then, using the principles of trigonometric functions, the feature points on the same epipolar line extracted from the point cloud data reflected back from obstacles or from the two frames are converted into the coordinate information of that location within the current map. This allows the calculation of the robot's coordinate information within the current map. The transformation relationship can be represented by a rotation matrix and translation vector as a vector relationship between the pose information of the same landmark in one map and the pose information in another map. It can also be represented in other forms; it is understood that the vector relationship can be represented in any reasonable form. This embodiment does not limit the specific representation of the transformation relationship. The scope of protection of this invention is not limited to the above embodiments. Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its scope and spirit. If these modifications and variations fall within the scope of the claims of this invention and their equivalents, then the intent of this invention also includes these modifications and variations.
[0042] The scope of protection of this invention is not limited to the embodiments described above. Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its scope and spirit. If these modifications and variations fall within the scope of the claims of this invention and their equivalents, then the intent of this invention also includes these modifications and variations.
Claims
1. A method for determining successful location based on road signs, characterized in that, The method for determining successful location tracking includes: Step 1: When the robot repeatedly determines that the same landmark is located, it determines whether the concentration of the feature points corresponding to the landmark is within the preset density threshold range. If yes, proceed to Step 2; otherwise, determine that the landmark is located successfully. Step 2: When the robot determines that at least one reference landmark is consistent with the landmark location described in Step 1, it determines that the landmark location described in Step 1 is successful; the reference landmark is different from the landmark described in Step 1, and the reference landmark is a landmark with a non-concentrated distribution of feature points; The robot is configured to represent each landmark by at least two feature points; Whenever the robot detects that the Euclidean distance between two feature points representing the same landmark is less than a preset distance threshold, it counts once by setting a density count value. After the robot has repeatedly detected the Euclidean distance between any two feature points representing the same landmark, it determines whether the ratio of the density count value to the robot's total number of detections is within the preset density threshold range. If it is, it determines that the feature points corresponding to the landmark are concentrated; otherwise, it determines that the feature points corresponding to the landmark are not concentrated. The robot configures the ratio of the density count value to the robot's total number of detections as the concentration.
2. The positioning success determination method according to claim 1, characterized in that, The robot is assigned an index number to each landmark to distinguish between different landmarks; When the robot determines that the difference between the location data of the landmark corresponding to the same index number obtained successively meets the preset error condition, it determines that the landmark corresponding to the index number is consistent in location; until the number of times the landmark corresponding to the same index number is determined to be consistent in location reaches the preset number, it begins to determine whether the concentration of the feature points corresponding to the landmark is within the preset density threshold range.
3. The positioning success determination method according to claim 1, characterized in that, The robot assigns an index number to each landmark to distinguish between different landmarks. When the robot determines that the difference between the positioning data of a landmark corresponding to one index number and the positioning data of a landmark corresponding to another index number meets the preset error condition, it determines that the positioning of the landmarks corresponding to the two index numbers is consistent. The index number of the reference road sign is different from the index number of the road sign described in step 1.
4. The positioning success determination method according to claim 2 or 3, characterized in that, The location data of the road sign includes coordinate offset and rotation angle; The differences in the positioning data of two different landmarks and / or the differences in the positioning data of the same landmark at different times include the difference in coordinate offset in the X-axis direction, the difference in coordinate offset in the Y-axis direction, and the difference in rotation angle. During the process of the robot detecting the difference between two positioning data, when the robot detects that the absolute value of the difference in coordinate offset in the X-axis direction is less than the first preset translation error value, the absolute value of the difference in coordinate offset in the Y-axis direction is less than the second preset translation error value, and the absolute value of the difference in rotation angle is less than the preset angle error value, it determines that the difference between the two positioning data meets the preset error conditions.
5. The positioning success determination method according to claim 4, characterized in that, The positioning data includes the conversion relationship between the pose of the same landmark in the historical map and the pose in the current map; or the positioning data includes the conversion relationship between the map coordinate system of the historical map and the map coordinate system of the current map. The transformation relationship is represented by rotation angle and coordinate offset, or by rotation matrix calculated from rotation angle and translation vector calculated from coordinate offset; each landmark corresponds to one location data.
6. The positioning success determination method according to claim 1, characterized in that, The method for determining successful positioning also includes: the robot sequentially stores the positioning data of successfully positioned landmarks into a linear storage space, and configures an index address for the positioning data stored in the linear storage space; the robot stores the positioning data of one landmark into the same linear storage space within each preset time period.
7. A chip, assembled in a robot, characterized in that, The chip is used to control the robot to execute the positioning success judgment method according to any one of claims 1 to 6, so as to support parallel processing of the coordinate offset in the X-axis direction, the coordinate offset in the Y-axis direction, and the rotation angle included in the positioning data of the landmark.
8. A robot, wherein a vision sensor is mounted on the robot's body; characterized in that, The robot is equipped with the chip described in claim 7 to determine that the landmark positioning collected by the vision sensor is successful.