WO2024037299A1 - 定位方法、装置、机器人和存储介质 - Google Patents
定位方法、装置、机器人和存储介质 Download PDFInfo
- Publication number
- WO2024037299A1 WO2024037299A1 PCT/CN2023/109295 CN2023109295W WO2024037299A1 WO 2024037299 A1 WO2024037299 A1 WO 2024037299A1 CN 2023109295 W CN2023109295 W CN 2023109295W WO 2024037299 A1 WO2024037299 A1 WO 2024037299A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- visual information
- current
- local map
- target
- map
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000004807 localization Effects 0.000 title abstract description 3
- 230000000007 visual effect Effects 0.000 claims abstract description 390
- 238000013507 mapping Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 239000013589 supplement Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 description 28
- 230000000694 effects Effects 0.000 description 10
- 230000007613 environmental effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 5
- 101150064138 MAP1 gene Proteins 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009469 supplementation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
Definitions
- This application relates to the field of robotic technology, and in particular to a positioning method, device, robot and storage medium.
- SLAM Simultaneous Localization and Mapping
- laser SLAM calculates the robot's motion trajectory by obtaining small deviations from the point cloud in the front and back frames of the lidar.
- the mapping and positioning effect is poor.
- a positioning method, device, robot and storage medium are provided.
- a positioning method that includes:
- the target local map is a local map that matches the current laser frame in the map database, and the map database includes a pre-built image for the target environment. Multiple local maps and visual information corresponding to each local map;
- the robot's pose in the target environment is determined.
- Figure 1 is a schematic flow chart of a positioning method in an embodiment
- Figure 2 is a schematic flowchart of obtaining standard visual information in one embodiment
- Figure 3 is a schematic diagram of the corresponding relationship between local maps and visual information in one embodiment
- Figure 4 is a schematic flowchart of visual positioning in one embodiment
- Figure 5 is a schematic flow chart of a positioning method in another embodiment
- Figure 6 is a schematic flow chart of a map database construction method according to an embodiment
- Figure 7 is a schematic diagram of the collection interval of visual information in one embodiment
- Figure 8 is a schematic flowchart of another map database construction method in one embodiment
- Figure 9 is a schematic flowchart of a map database construction method in another embodiment
- Figure 10 is a structural block diagram of a positioning device in one embodiment
- Figure 11 is an internal structural diagram of the robot in one embodiment.
- Laser sensors and visual sensors are the two mainstream sensors in SLAM.
- SLAM based on these two sensors is also widely used in the mapping and positioning process of robots.
- the operating principle of laser SLAM is: a laser sensor set at a fixed position of the robot can detect a point cloud point formed based on the distance information of the obstacle in front of the robot within a certain angle range on a horizontal plane (or several limited angle sections) . Furthermore, based on the continuous laser frames collected in real time, the robot's motion trajectory can be calculated by comparing the slight deviation in the spatial position of the point cloud in the previous and later laser frames.
- Laser SLAM can obtain good positioning results when the environment remains static. However, when the distribution of obstacles in the environment changes greatly, and there are a large number of dynamic obstacles around the robot, there may be positioning failure problems, which will affect the stability of the robot positioning system. sex.
- the visual images collected by visual sensors have higher dimensions and richer information than the point cloud data collected by laser sensors, and are also closest to the way the human eye observes the world.
- the massive image information contained in visual images requires greater computing power and stronger reasoning logic to position the robot's pose based on image information.
- most robots run on embedded platforms, and limited computing resources hinder the application of visual SLAM on robots.
- visual images are susceptible to light interference, and there are problems such as misdetection of similar pattern features, which will also affect the stability of the robot positioning system.
- this application provides a positioning method, device, robot and storage medium to combine the advantages of the two SLAM technologies, relying on the powerful real-time, stability and efficiency of laser SLAM to add visual assistance functions , improve the collection dimension of environmental information, thereby finding a feasible solution for laser SLAM positioning in complex scenes.
- the visual information collected by this application is not used to perform complex visual SLAM operations, but is only used to establish the correlation between local maps and visual information, without affecting the positioning efficiency of laser SLAM.
- the positioning method provided by this application can be applied to a positioning device, which can be implemented as part or all of a processor through software, hardware, or a combination of software and hardware, and integrated into a computer device.
- the computer device can be a robot that can move autonomously or other intelligent terminals.
- a positioning method is provided.
- the application of this method to a robot is used as an example to illustrate, including the following steps:
- Step 110 If the current laser frame of the target environment fails to match the target local map, obtain the current visual image frame of the target environment; the target local map is the local map matching the current laser frame in the map database, and the map database includes the target environment Multiple pre-constructed local maps and visual information corresponding to each local map.
- the robot mainly uses laser SLAM for positioning during navigation and positioning.
- the normal working state is: matching the real-time laser frame with the local map in the map database, and then calculating the robot's position based on the matched local map. Real-time pose.
- the robot's pose in the target environment is determined based on the current laser frame and the target local map.
- feature point matching is performed based on the point cloud in the current laser frame and the 3D map points in the target local map, the matching relationship between the current laser frame and the target local map is obtained, and then the pose of the robot is calculated based on the matching relationship.
- the current laser frame may not be able to match the corresponding local map in the map database. , at this time, laser SLAM positioning fails.
- the target local map is the local map corresponding to the previous laser frame; during the robot's relocation process based on the prior map, the target local map can be the local map that has been built in the map database. map, and the target local map has the highest similarity with the current laser frame.
- the similarity between the target local map here and the current laser frame is high, which is higher than the similarity between other local maps in the map database and the current laser frame.
- the similarity between the target local map and the current laser frame is the highest, and It does not mean that the current laser frame and the target local map must match successfully.
- the following two methods can be used, but are not limited to:
- Method 1 Calculate the pose of the robot based on the current laser frame and the target local map, and determine whether the current laser frame and the target local map match successfully based on the deviation between the robot's pose and the pose determined in the previous laser frame.
- the current laser frame is determined It fails to match the local map of the target and needs to use visual information for positioning.
- the deviation between the robot's pose and the pose determined by the previous laser frame is not greater than the preset pose deviation value, it is determined that the current laser frame and the target local map are successfully matched. This can be directly based on the current laser frame and the target local map. , determine the robot's pose in the target environment.
- Method 2 Perform feature point matching based on the current laser frame and the target local map to obtain a matching feature point pair; and then determine whether the current laser frame and the target local map match successfully based on the matching feature point pair and the preset feature point pair threshold.
- the number of matching feature point pairs is greater than the feature point pair threshold, it is determined that the current laser frame and the target local map are successfully matched.
- the pose of the robot in the target environment can be determined directly based on the current laser frame and the target local map; when matching When the number of feature point pairs is less than or equal to the feature point pair threshold, it is determined that the current laser frame and the target local map have failed to match, and visual information is required for positioning.
- Step 120 Obtain the standard visual information corresponding to the current visual image frame from the map database.
- the map database stores multiple partial maps and visual information corresponding to each partial map.
- Each local map may correspond to one visual information or may correspond to multiple visual information.
- the amount of collected visual information can be flexibly set based on actual needs during the mapping process. This embodiment does not limit this.
- the visual information corresponding to each local map can be a visual image or a feature point in the visual image.
- the visual information is collected by a visual sensor when constructing a local map through laser SLAM.
- the visual information can be a mark (i.e. maker) artificially set in the target environment, such as a dot matrix code/QR code with clear encoding rules. These makers can be attached to the ceiling or wall of the target environment. Then, when the robot moves in the target environment, these makers can be photographed through the visual sensor on the top/front of the robot to obtain the visual information represented by these makers.
- a mark i.e. maker
- QR code with clear encoding rules
- the visual information can also be the appearance information and pose information of natural objects in the target environment, such as the distribution of tables, chairs, corridors, windows and other objects in the target environment.
- the implementation process of step 120 may be: based on the current visual image frame, traverse the visual information corresponding to each local map in the map database, and calculate the similarity between the current visual image frame and multiple visual information Degree, the visual information with the highest similarity is determined as the standard visual information corresponding to the current visual image frame.
- Step 130 Determine the robot's pose in the target environment based on the current visual image frame and standard visual information.
- the implementation process of this step is the same as that of visual SLAM, that is, based on the current image frame and standard visual information, the matching feature point pairs in the two images are obtained, and then based on the offset information of the feature points in the matching feature point pair, the robot is determined.
- step 130 the positioning process in step 130 is the same as visual SLAM, this application only uses the current visual image frame and the standard visual image when the laser SLAM positioning fails, that is, the current laser frame fails to match the target local map.
- the information determines the pose of the robot to ensure that the robot can operate normally in complex environments where laser SLAM cannot operate, and the positioning system is more robust.
- the pose can be assigned to laser SLAM as an initial value.
- Laser SLAM uses this pose as the starting state for secondary positioning. If the secondary positioning If successful, switch to laser SLAM working state.
- the current laser frame of the target environment fails to match the target local map
- the current visual image frame of the target environment is obtained
- the standard visual information corresponding to the current visual image frame is obtained from the map database, and then based on the current visual image frame and standard visual information to determine the robot's pose in the target environment.
- the target local map is a local map in the map database that matches the current laser frame.
- the map database includes multiple local maps pre-constructed for the target environment and visual information corresponding to each local map. That is to say, this application supplementally stores the visual information corresponding to the local map in the map database in advance. Therefore, when the laser SLAM fails, the current visual image frame can be collected and the corresponding standard visual information can be matched from the map database.
- the target local map when obtaining the standard visual information corresponding to the current visual image frame from the map database, it can be obtained through traversal, or the target local map can be used to reduce the traversal range of the map database, thereby improving the acquisition of standard visual information. efficiency.
- the target local map fails to match the current laser frame, the target local map has a certain degree of similarity with the environmental information in the current laser frame compared with other local maps in the map database. Therefore, based on the target local map, the standard visual information can be quickly determined among the visual information corresponding to adjacent local maps of the target local map.
- the implementation process of obtaining the standard visual information corresponding to the current visual image frame from the map database in step 120 may include the following steps:
- Step 210 Based on the target local map, obtain the visual information corresponding to the target local map from the map database, and obtain the first candidate visual information.
- the visual information corresponding to the target local map can be the visual feature information of one visual image, or the visual feature information of multiple visual images.
- the visual information can be obtained according to the preset collection time; if the laser SLAM mapping effect is not good, the visual information collection frequency can be increased. , to collect more visual information to supplement the local map and improve the reliability of the environmental information in the local map.
- the mapping effect of laser SLAM can be determined based on the laser frame positioning results. Specifically, if the deviation of the robot pose determined based on the laser frame and the previous laser frame is greater than the preset pose deviation value compared to the robot's previous positioning history, it means that the current laser frame corresponds to the previous laser frame.
- the environmental information changes greatly.
- the environmental information in the current laser frame may be spatially discontinuous with the environmental information in the previous laser frame and cannot be used to construct a local map. Therefore, it is determined that the laser SLAM mapping effect is not good.
- Step 220 Obtain at least one candidate partial map adjacent to the target partial map from the map database, and determine the visual information corresponding to each candidate partial map as the second candidate visual information.
- each local map in the map database Since the spatial environment described by each local map in the map database is continuous, there is a certain connection sequence between each local map. Therefore, based on the target local map, at least one candidate local map adjacent to the target local map can be determined, and then visual information corresponding to each candidate local map can be obtained.
- Step 230 Determine the standard visual information corresponding to the current visual image frame according to the first candidate visual information and/or the second candidate visual information.
- the implementation process of step 230 may be: if there are multiple first candidate visual information, determine the standard visual information corresponding to the current visual image frame from the first candidate visual information. If there is only one first candidate visual information, the standard visual information corresponding to the current visual image frame can be determined based on the second candidate visual information; or the standard visual information corresponding to the current visual image frame can be determined based on the first candidate visual information and the second candidate visual information. standard visual information.
- the standard visual information is the candidate visual information with the highest similarity to the environmental information in the current visual image frame.
- 4 first candidate visual information can be obtained in the local map 2 (that is, the 4 visual information connected by the dotted line of the positioning failure point 1 in Figure 3) , at the same time, obtain the corresponding 2 visual information in local map 1, obtain the corresponding 5 visual information in local map 3, use the visual information obtained in local map 1 and local map 3 as the second candidate visual information, and then , determining standard visual information based on the first candidate information and/or the second candidate visual information.
- the visual information closest to the positioning failure point 2 can be determined in the local map 4 (i.e., 1 connected by the dotted line of the positioning failure point 2 in Figure 3 visual information), and directly determine the visual information as standard visual information.
- the standard visual information corresponding to the current visual image frame is screened in the target local map and/or at least the candidate local maps adjacent to the target local map, so that the search scope of the standard visual information can be narrowed, Improve the efficiency of obtaining standard visual information and the matching degree between the obtained standard visual information and the current visual image frame.
- the implementation process of determining the pose of the robot in the target environment based on the current visual image frame and standard visual information in step 130 may include the following steps:
- Step 410 Obtain the pose information of the standard visual information in the corresponding local map.
- the implementation process of step 410 can be: obtaining the coordinate conversion relationship between the visual sensor and the laser sensor; matching the feature points in the visual information and the feature points in the local map, and then based on the local map The pose information and coordinate conversion relationship of each feature point in the map determine the corresponding pose when the corresponding feature point in the standard visual information is converted into the local map, thereby determining the pose information of the standard visual information in the local map.
- the pose information can be determined based on the pose of the visual sensor that collects visual information during mapping, or the pose information can be directly recorded in the corresponding local map during the mapping process.
- Step 420 Obtain the transformation relationship between the current visual image frame and the standard visual information based on the multiple matching feature point pairs that match the current visual image frame and the standard visual information.
- the feature points in the current visual image frame are determined, compared with the offset information of the corresponding feature points in the standard visual information, and then based on the multiple matching features
- the offset information of the feature points in the point pair is used to calculate the transformation relationship between the current visual image frame and the standard visual information.
- the transformation relationship can reflect the coordinate system transformation relationship between the visual sensor that collects the current visual image frame and the visual sensor that collects standard visual information.
- Step 430 Determine the robot's pose in the target environment based on the pose information and transformation relationship.
- the feature points in the current visual image frame can be converted into a local map corresponding to the standard visual information for representation, so as to determine where the robot is on the local map. to determine the robot's position in the target environment.
- Pose_current represents the current pose of the robot in the target environment
- Ptrans_cams is the transformation relationship calculated based on the current visual image frame and standard visual information
- Pmark_node is the pose information of the standard visual information in the corresponding local map.
- the robot positioning system switches to the visual-assisted positioning process, and determines where the robot is by collecting the current visual image frame and the standard visual information corresponding to the current visual image frame.
- the pose in the target environment realizes effective positioning in complex scenes and ensures the stable operation of the robot positioning system.
- this application also provides another positioning method, which is also applied to the machine. Taking a robot as an example, the explanation includes the following steps:
- Step 510 Determine whether the laser SLAM positioning is invalid based on the matching between the current laser frame and the target local map.
- Step 520 if the current laser frame of the target environment successfully matches the target local map, the following step 520 is executed; if the current laser frame of the target environment fails to match the target local map, the laser SLAM positioning becomes invalid, and switching to visual SLAM positioning is performed. Step 530 below.
- the target local map is a local map in the map database that matches the current laser frame.
- the map database includes multiple local maps pre-constructed for the target environment and visual information corresponding to each local map.
- Step 520 If the current laser frame of the target environment successfully matches the target local map, determine the pose of the robot in the target environment based on the current laser frame and the target local map.
- Step 530 If the current laser frame of the target environment fails to match the target local map, obtain the current visual image frame of the target environment.
- Step 540 Based on the target local map, obtain the visual information corresponding to the target local map from the map database, and obtain the first candidate visual information.
- Step 550 Obtain at least one candidate partial map adjacent to the target partial map from the map database, and determine the visual information corresponding to each candidate partial map as the second candidate visual information.
- Step 560 Determine the standard visual information corresponding to the current visual image frame according to the first candidate visual information and/or the second candidate visual information.
- Step 570 Obtain the pose information of the standard visual information in the corresponding local map.
- Step 580 Obtain the transformation relationship between the current visual image frame and the standard visual information based on multiple matching feature point pairs that match the current visual image frame and the standard visual information.
- Step 590 Determine the robot's pose in the target environment based on the pose information and transformation relationship.
- this application also provides a method for constructing a map database. This method is also explained by applying this method to a robot as an example, including the following steps:
- Step 610 Obtain the laser frame sequence of the target environment collected by the robot, and a plurality of visual information collected by the robot in the target environment at preset intervals.
- the preset duration is a preset visual information collection period, such as 10 seconds, 20 seconds, 30 seconds, etc.; the preset duration can also be set according to the data collection frequency of the laser sensor, for example, every 5 laser frames are collected , collect visual information once.
- a local map will be generated, and visual information will be collected at the same time, so that the visual information can be located between adjacent local maps and be connected to two adjacent local maps respectively. local map association.
- visual information may also be collected in a local map, which is not limited here.
- the visual information supplementation operation is performed; the visual information supplementation operation is used to supplement the collection of visual information in the target environment.
- the deviation between the pose determined based on the current laser frame and the previous laser frame and the pose determined by the last laser positioning is greater than the preset value, it indicates that the laser positioning accuracy is low and additional visual information needs to be collected.
- the environmental information in the target environment collected by the laser sensor is supplemented by visual information.
- a local map can correspond to multiple visual information, and the supplementary collected visual information is supplementally collected when the positioning accuracy is lower than the preset value when the robot is positioned based on adjacent laser frames.
- Step 620 Construct a map database based on the laser frame sequence and multiple visual information.
- the number of laser frames in the laser frame sequence is much more than the number of visual information collected.
- the local map is constructed based on the laser point cloud data in the laser frame sequence, and the visual information is used as the local map. Supplementary information is also stored in the map database.
- this application uses laser SLAM for mapping.
- the visual information collected during the mapping process is only used as supplementary information for positioning when laser positioning fails, and the visual SLAM mapping process is not executed.
- the implementation process of step 620 can be as follows: generate multiple spatially continuous local maps based on the laser frame sequence; determine the laser frame corresponding to the visual information based on the collection time of each visual information and laser frame. , and then add visual information to the local map constructed by the corresponding laser frame to build a map database.
- the constructed map database includes multiple partial maps, and each partial map corresponds to at least one piece of visual information.
- the robot when the robot moves in the target environment, it collects the laser frame sequence of the target environment through the laser sensor, collects visual information in the target environment according to the preset time, and then constructs a map based on the laser frame sequence and multiple visual information. database.
- the robot when it moves in the target environment, it collects the laser frame sequence of the target environment through the laser sensor, collects visual information in the target environment according to the preset time, and then constructs a map based on the laser frame sequence and multiple visual information. database.
- some visual information is pre-stored in the map database, when laser positioning fails, positioning can be performed by collecting visual image frames and matching the visual information from the map database to ensure that the positioning system operates in complex environments. stability under.
- the implementation process of constructing a map database based on the laser frame sequence and multiple visual information in step 620 may include the following steps:
- Step 810 Divide the laser frame sequence according to a preset number, and perform mapping on the divided groups of laser frames to obtain multiple local maps.
- the preset number may be a number set based on experience, such as 5 frames, 10 frames, 15 frames, etc.
- local map 1 and local map 2 are spatially adjacent local maps, and it is set to use 5 laser frames to create a local map during mapping, then the 1st to 5th laser frames are used to create the local map. Map 1, the 4th-9th laser frames are used to create local map 2, and the 4th laser frame exists in both local map 1 and local map 2.
- Step 820 Obtain the correlation between multiple visual information and laser frame sequences.
- the implementation process of step 820 is: obtaining the calibration parameters of the visual sensor that collects multiple visual information, and the coordinate conversion relationship between the visual sensor and the laser sensor that collects the laser frame sequence; according to the visual sensor The calibration parameters and coordinate transformation relationship are used to determine the correlation between multiple visual information and laser frame sequences.
- the calibration parameters of the visual sensor can reflect the conversion relationship between the feature points in the collected visual image frames and the coordinate system of the visual sensor.
- the coordinate conversion relationship between the visual sensor and the laser sensor can be determined based on the feature points in the laser frame aligned with the visual information.
- the pose of the feature points in the visual information in the local map can be calculated, thereby establishing an association between multiple visual information and laser frame sequences.
- Pmark_node represents the pose of the visual information in the corresponding local map
- Pose_vmark represents the calibration parameter of the visual sensor, which can be obtained based on the binocular vision recovery three-dimensional technology and RGBD three-dimensional technology
- Pose_vcam is the coordinate between the visual sensor and the laser sensor Transformation relationship.
- Step 830 Add multiple pieces of visual information to the corresponding local map according to the association relationship to obtain a map database.
- the visual information can be added to the corresponding local map to create a map database.
- the loop closure optimization process does not increase the amount of calculation of the pose adjustment of the feature points in the visual information.
- the laser frame sequence is divided according to a preset number, and multiple groups of divided laser frames are mapped respectively to obtain multiple local maps; then, based on the multiple visual information and the relationship between the laser frame sequences Association relationship, multiple visual information is added to the corresponding local map to obtain a map database.
- visual information is introduced into the map database, but the matching relationship of the visual information is not added to the map optimization process, which reduces the computational complexity of the map optimization while retaining the richness of the visual information.
- this application also provides another map database construction method. This method is also explained by applying this method to a robot as an example, including the following steps:
- Step 910 Obtain the laser frame sequence of the target environment collected by the robot, and a plurality of visual information collected by the robot in the target environment at preset intervals.
- the visual information supplement operation is performed; the visual information supplement operation is used to supplement the collection of visual information in the target environment.
- Step 920 Divide the laser frame sequence according to a preset number, and perform mapping on the divided groups of laser frames to obtain multiple local maps.
- Step 930 Obtain the calibration parameters of the visual sensor that collects multiple visual information, and the coordinate conversion relationship between the visual sensor and the laser sensor that collects the laser frame sequence.
- Step 940 Determine the correlation between multiple pieces of visual information and the laser frame sequence based on the calibration parameters of the visual sensor and the coordinate conversion relationship.
- Step 950 Add multiple pieces of visual information to the corresponding local map according to the association relationship to obtain a map database.
- embodiments of the present application also provide a positioning device for implementing the above-mentioned positioning method.
- the solution to the problem provided by this device is similar to the solution recorded in the above method. Therefore, for the specific limitations in one or more positioning device embodiments provided below, please refer to the above limitations on the positioning method. Here No longer.
- a positioning device in one embodiment, as shown in Figure 10, a positioning device is provided.
- the device 1000 includes: an environment image acquisition module 1010, a visual information acquisition module 1020 and a positioning module 1030, wherein:
- the environment image acquisition module 1010 is used to obtain the current visual image frame of the target environment if the current laser frame of the target environment fails to match the target local map;
- the target local map is a local map in the map database that matches the current laser frame, and the map database It includes multiple local maps pre-constructed for the target environment and the visual information corresponding to each local map;
- the visual information acquisition module 1020 is used to obtain the standard visual information corresponding to the current visual image frame from the map database;
- the positioning module 1030 is used to determine the position and posture of the robot in the target environment based on the current visual image frame and standard visual information.
- the visual information acquisition module 1020 includes:
- the first acquisition unit is used to obtain the visual information corresponding to the target local map from the map database based on the target local map, and obtain the first candidate visual information;
- a second acquisition unit configured to acquire at least one candidate local map adjacent to the target local map from the map database, and determine the visual information corresponding to each candidate local map as the second candidate visual information
- the visual information determining unit is configured to determine standard visual information corresponding to the current visual image frame based on the first candidate visual information and/or the second candidate visual information.
- the positioning module 1030 includes:
- the third acquisition unit is used to acquire the pose information of the standard visual information in the corresponding local map
- a matching unit used to obtain the transformation relationship between the current visual image frame and the standard visual information based on multiple matching feature point pairs that match the current visual image frame and the standard visual information;
- the pose determination unit is used to determine the pose of the robot in the target environment based on the pose information and transformation relationship.
- the device 1000 further includes:
- the data collection module is used to obtain the laser frame sequence of the target environment collected by the robot, as well as multiple visual information collected by the robot in the target environment at preset intervals; each visual information is located between adjacent local maps;
- the mapping module is used to build a map database based on laser frame sequences and multiple visual information.
- mapping module includes:
- the data grouping unit is used to divide the laser frame sequence according to a preset number, and construct maps for the divided groups of laser frames to obtain multiple local maps;
- Information association unit used to obtain the association between multiple visual information and laser frame sequences
- the information supplement unit is used to add multiple visual information to the corresponding local map according to the association relationship to obtain a map database.
- the information association unit includes:
- the first acquisition subunit is used to acquire the calibration parameters of the visual sensor that collects multiple visual information, and the coordinate conversion relationship between the visual sensor and the laser sensor that collects the laser frame sequence;
- the determination subunit is used to determine the correlation between multiple visual information and the laser frame sequence based on the calibration parameters of the visual sensor and the coordinate conversion relationship.
- the above-mentioned data collection module is also used to perform a visual information supplement operation if the robot's laser positioning accuracy is lower than a preset value; the visual information supplement operation is used to supplement the collection of visual information in the target environment.
- the device 1000 in the device 1000:
- the above-mentioned positioning module 1030 is also used to determine the pose of the robot in the target environment based on the current laser frame and the target local map if the current laser frame of the target environment successfully matches the target local map.
- Each module in the above-mentioned positioning device 1000 can be implemented in whole or in part by software, hardware, and combinations thereof.
- Each of the above modules may be embedded in or independent of the processor of the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
- a robot is provided, and the internal structure of the robot is shown in Figure 11.
- the robot includes a processor, memory, communication interface, display screen and input device connected through a system bus.
- the robot's processor is used to provide computing and control capabilities.
- the robot's memory includes non-volatile storage media and internal memory.
- the non-volatile storage medium stores operating systems and computer programs.
- This internal memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media.
- the communication interface of the robot is used for wired or wireless communication with external terminals.
- the wireless mode can be implemented through WIFI, operator network, NFC (Near Field Communication) or other technologies.
- the computer program implements a positioning method when executed by the processor.
- the robot's display screen can be a liquid crystal display or an electronic ink display.
- the robot's input device can be a touch layer covered on the display screen, or it can be a button, trackball or touch pad provided on the robot shell. It can also be It is an external keyboard, trackpad or mouse, etc.
- Figure 11 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied.
- Specific computer equipment can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
- a computer device is provided.
- the computer device can be the above-mentioned robot or other intelligent mobile device;
- the computer device includes a memory and a processor, and a computer program is stored in the memory.
- the processor executes the computer program, it implements Following steps:
- the target local map is a local map that matches the current laser frame in the map database, and the map database includes a pre-built image for the target environment. many local maps and visual information corresponding to each local map;
- the robot's pose in the target environment is determined.
- a computer-readable storage medium is provided with a computer program stored thereon.
- the computer program is executed by a processor, the following steps are implemented:
- the target local map is a local map that matches the current laser frame in the map database, and the map database includes a pre-built image for the target environment. Multiple local maps and visual information corresponding to each local map;
- the robot's pose in the target environment is determined.
- a computer program product comprising a computer program that when executed by a processor implements the following steps:
- the target local map is a local map that matches the current laser frame in the map database, and the map database includes a pre-built image for the target environment. Multiple local maps and visual information corresponding to each local map;
- the robot's pose in the target environment is determined.
- Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc.
- Volatile memory may include random access memory (RAM) or external cache memory.
- RAM can be in many forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请公开了一种定位方法、装置、机器人和存储介质。若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;从地图数据库中获取当前视觉图像帧对应的标准视觉信息;根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
Description
相关申请的交叉引用
本申请要求于2022年8月17日提交中国专利局、申请号为202210985736.3、申请名称为“定位方法、装置、机器人和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及机器人技术领域,特别是涉及一种定位方法、装置、机器人和存储介质。
同步定位与建图(Simultaneous Localization And Mapping,SLAM)是机器人能够自主运行的基本要求,而激光雷达和视觉传感器是SLAM中的两种主流传感器,基于这两种传感器的SLAM算法也广泛应用在机器人的导航定位过程中。
然而,激光SLAM通过激光雷达前后帧获取点云的微小偏差推算机器人运动轨迹,在环境变化很大,周围物体大量存在运动的时候,建图定位效果较差。
因此,亟需一种可以在复杂场景下实现有效建图与定位,提高SLAM***稳定性的方法。
发明内容
根据本申请的各种实施例,提供一种定位方法、装置、机器人和存储介质。
一种定位方法,该方法包括:
若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;
从地图数据库中获取当前视觉图像帧对应的标准视觉信息;
根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
图1为一个实施例中定位方法的流程示意图;
图2为一个实施例中获取标准视觉信息的流程示意图;
图3为一个实施例中局部地图和视觉信息的对应关系示意图;
图4为一个实施例中视觉定位的流程示意图;
图5为另一个实施例中定位方法的流程示意图;
图6为一个实施例一种地图数据库构建方法的流程示意图;
图7为一个实施例中视觉信息的采集间隔示意图;
图8为一个实施例中另一种地图数据库构建方法的流程示意图;
图9为另一个实施例中地图数据库构建方法的流程示意图;
图10为一个实施例中定位装置的结构框图;
图11为一个实施例中机器人的内部结构图。
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解
的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
随着机器人应用场景的不断增加,对机器人建图和定位技术的要求也越来越高。激光传感器和视觉传感器作为SLAM中的两种主流传感器,基于这两种传感器的SLAM也广泛应用在机器人的建图和定位过程中。
其中,激光SLAM的运行原理是:设置在机器人固定位置的激光传感器,可以探测到一个水平面(或几个有限角度切面)上一定角度范围内,基于机器人前方障碍物距离信息所形成的点云点。进一步地,基于实时采集的连续激光帧,通过对比前后激光帧中点云在空间位置上的微小偏移,可以推算出机器人运动轨迹。
激光SLAM在环境保持静态时,能获得很好的定位结果,但在环境中障碍物分布变动很大,机器人周围存在大量的动态障碍时,可能存在定位失效的问题,会影响机器人定位***的稳定性。
进一步地,视觉传感器(比如摄像头)采集的视觉图像具有比激光传感器采集的点云数据更高维度、更丰富的信息,也最接近于人眼观察世界的方式。但视觉图像中包含的海量图像信息,需要更大的算力和更强的推理逻辑来实现基于图像信息定位机器人的位姿。然而,机器人多运行在嵌入式平台中,有限的计算资源阻碍了视觉SLAM在机器人身上的应用。同时,视觉图像容易受到光线干扰,且存在相似图案特征误检等问题,也会影响机器人定位***的稳定性。
激光SLAM和视觉SLAM均存在弊端与瓶颈,因此,如何能更加高效、更加鲁棒地应对各种复杂场景的机器人运行,成为机器人技术领域中亟待解决的问题。
基于上述分析,本申请提供了一种定位方法、装置、机器人和存储介质,以将两种SLAM技术的优势进行结合,依托于激光SLAM强大的实时性、稳定性、高效性,增加视觉辅助功能,提升环境信息的采集维度,从而为激光SLAM在复杂场景下的定位找到可行的解决方案。而且,本申请采集的视觉信息不用于执行复杂的视觉SLAM操作,仅用于建立局部地图和视觉信息的关联关系,不影响激光SLAM的定位效率。
在一个实施例中,本申请提供的定位方法,可以应用于定位装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为处理器的部分或者全部,集成在计算机设备中。其中,计算机设备可以是能够自主移动的机器人,也可以是其他智能终端。
接下来,将通过实施例并结合附图具体地对本申请实施例的技术方案,以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。显然,所描述的实施例是本申请实施例一部分实施例,而不是全部的实施例。
在一个实施例中,如图1所示,提供了一种定位方法,以该方法应用于机器人为例进行说明,包括以下步骤:
步骤110:若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息。
需要说明的是,机器人在导航定位时主要采用激光SLAM进行定位,正常情况下的工作状态是:根据实时激光帧和地图数据库中的局部地图进行匹配,进而根据匹配上的局部地图,计算机器人的实时位姿。
换言之,若目标环境的当前激光帧与目标局部地图匹配成功,则根据当前激光帧和目标局部地图,确定机器人在目标环境中的位姿。
具体地,根据当前激光帧中的点云和目标局部地图中的3D地图点进行特征点匹配,获取当前激光帧和目标局部地图之间的匹配关系,进而根据匹配关系计算机器人的位姿。
然而,当机器人所处目标环境中分布的障碍物发生移动,比如,环境中的桌椅在前后激光帧中的位置偏差较大时,当前激光帧可能在地图数据库中无法匹配到对应的局部地图,此时,激光SLAM定位失效。
基于此,当机器人在目标环境中采集的当前激光帧与目标局部地图匹配失败,即激光SLAM定位失效时,可以借助视觉信息进行辅助定位,即执行上述步骤110,机器人获取目标环境的当前视觉图像帧,并以此来定位。
需要说明的是,在机器人建图过程中,目标局部地图为前一激光帧对应的局部地图;在机器人基于先验地图的重定位过程中,目标局部地图可以为地图数据库中已经建好的局部地图,且目标局部地图与当前激光帧的相似度最高。
此处的目标局部地图与当前激光帧之间相似度高,是较地图数据库中其他局部地图与当前激光帧的相似度而言的,目标局部地图和当前激光帧之间的相似度最高,并不代表当前激光帧和目标局部地图一定匹配成功。
进一步地,判断当前激光帧和目标局部地图之间的匹配情况时,可以采用但不限于以下两种方式:
方式1:根据当前激光帧和目标局部地图,计算机器人的位姿,根据机器人的位姿与上一激光帧确定的位姿之间的偏差情况,判断当前激光帧和目标局部地图是否匹配成功。
其中,若机器人的位姿与上一激光帧确定的位姿之间的偏差大于预设的位姿偏差值,表征机器人位姿发生了很大变化,定位结果可能存在异常,则判定当前激光帧和目标局部地图匹配失败,需要借助视觉信息进行定位。
若机器人的位姿与上一激光帧确定的位姿之间的偏差不大于预设的位姿偏差值,则判定当前激光帧与目标局部地图匹配成功,可以直接根据当前激光帧和目标局部地图,确定机器人在目标环境中的位姿。
方式2:根据当前激光帧和目标局部地图进行特征点匹配,获取匹配特征点对;进而根据匹配特征点对和预设的特征点对阈值,判断当前激光帧和目标局部地图是否匹配成功。
应该理解的是,当前激光帧和目标局部地图之间的匹配特征点对越多,则表征当前激光帧和目标局部地图中环境信息的相似度越高,根据两者确定的位姿也更准确。
因此,当匹配特征点对的数量大于特征点对阈值时,判定当前激光帧和目标局部地图匹配成功,可以直接根据当前激光帧和目标局部地图,确定机器人在目标环境中的位姿;当匹配特征点对的数量小于或等于特征点对阈值时,判定当前激光帧和目标局部地图匹配失败,需要借助视觉信息进行定位。
步骤120:从地图数据库中获取当前视觉图像帧对应的标准视觉信息。
其中,地图数据库中存储有多个局部地图,以及每个局部地图对应的视觉信息。每个局部地图可能对应一个视觉信息,也可能对应多个视觉信息,采集的视觉信息的数量可以在建图过程中基于实际需求进行灵活设置,本实施例对此不做限制。
其中,每个局部地图对应的视觉信息可以为视觉图像,也可以为视觉图像中的特征点,该视觉信息是通过激光SLAM构建局部地图时,通过视觉传感器采集得到的。
作为一个示例,视觉信息可以是人为设置在目标环境中的标识(即maker),比如,具有明确的编码规则的点阵码/二维码。可以将这些maker贴在目标环境的天花板或者墙上,然后,当机器人在目标环境中移动时,通过机器人顶部/前部的视觉传感器拍摄这些maker,从而获取到这些maker所表示的视觉信息。
作为另一个示例,视觉信息还可以是目标环境中的自然物的外观信息和位姿信息,比如,目标环境中桌椅、走廊、窗户等物体的分布情况等。
在一种可能的实现方式中,步骤120的实现过程可以为:基于当前视觉图像帧,遍历地图数据库中各局部地图对应的视觉信息,并计算当前视觉图像帧和多个视觉信息之间的相似度,将相似度最高的一个视觉信息,确定为当前视觉图像帧对应的标准视觉信息。
步骤130:根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
其中,该步骤的实现过程与视觉SLAM相同,即根据当前图像帧和标准视觉信息,获取两张图像中的匹配特征点对,进而根据匹配特征点对中特征点的偏移信息,确定机器人在目标环境中的位姿。在此不再赘述,可以参见视觉SLAM定位的相关技术。
但需要说明的是,步骤130的定位过程虽然与视觉SLAM相同,但本申请只在激光SLAM定位失效,即当前激光帧与目标局部地图匹配失败的情况下,才根据当前视觉图像帧和标准视觉信息确定机器人的位姿,以保证机器人可以在激光SLAM无法作业的复杂环境中正常运行,定位***的鲁棒性更好。
可选地,通过视觉信息确定机器人在目标环境中的位姿后,可以将该位姿作为初始值赋给激光SLAM,激光SLAM以该位姿为起始状态进行二次定位,如果二次定位成功,则切换到激光SLAM工作状态。
上述定位方法中,若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧,并从地图数据库中获取当前视觉图像帧对应的标准视觉信息,进而根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。其中,目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息。也即是,本申请预先在地图数据库中补充存储了局部地图对应的视觉信息,因此,在激光SLAM失效的情况下,可以通过采集当前视觉图像帧,并从地图数据库中匹配对应的标准视觉信息,然后通过视觉图像帧和标准视觉信息进行定位,以弥补激光SLAM定位在动态环境中的局限性,保证了机器人定位***可以在复杂环境中正常运行。如此,通过经验总结更为鲁棒的激光SLAM进行机器人定位时,加以视觉信息辅助,可以保持激光SLAM良好的实时性,同时增强定位***的运行稳定性。
基于上述实施例,从地图数据库中获取当前视觉图像帧对应的标准视觉信息时,可以通过遍历的方式来获取,也可以利用目标局部地图,缩小地图数据库的遍历范围,进而提高标准视觉信息的获取效率。
应该理解的是,虽然目标局部地图与当前激光帧匹配失败,但目标局部地图较地图数据库中其他局部地图而言,与当前激光帧中的环境信息之间具有一定的相似度。因此,基于目标局部地图,可以在目标局部地图的邻近局部地图对应的视觉信息中,快速确定标准视觉信息。
基于此构思,在一个实施例中,如图2所示,上述步骤120中从地图数据库中获取当前视觉图像帧对应的标准视觉信息的实现过程,可以包括以下步骤:
步骤210:基于目标局部地图,从地图数据库中获取目标局部地图对应的视觉信息,得到第一候选视觉信息。
其中,目标局部地图对应的视觉信息可以是一个视觉图像的视觉特征信息,也可以是多个视觉图像的视觉特征信息。
需要说明的是,在建图过程中,若激光SLAM建图效果较好,则可以按照预设的采集时长获取视觉信息;若激光SLAM建图效果不佳,则可以增大视觉信息的采集频率,以采集更多的视觉信息补充到局部地图中,提高局部地图中环境信息的可靠性。
作为一个示例,激光SLAM的建图效果可以根据激光帧定位结果来确定。具体地,若根据激光帧和前一激光帧确定的机器人位姿,较机器人前一次定位的历史位姿之间的偏差大于预设的位姿偏差值,表征当前激光帧和前一激光帧对应的环境信息变化较大,当前激光帧中环境信息可能与前一激光帧中环境信息在空间上不连续,无法用于构建局部地图,因此,认定激光SLAM建图效果不佳。
步骤220:从地图数据库中获取与目标局部地图相邻的至少一个候选局部地图,将各候选局部地图对应的视觉信息确定为第二候选视觉信息。
由于地图数据库中各局部地图描述的空间环境是连续的,各局部地图之间存在一定的连接顺序。因此,基于目标局部地图可以确定与目标局部地图相邻的至少一个候选局部地图,进而获取各候选局部地图对应的视觉信息。
步骤230:根据第一候选视觉信息和/或第二候选视觉信息,确定当前视觉图像帧对应的标准视觉信息。
在一种可能的实现方式中,步骤230的实现过程可以为:若第一候选视觉信息有多个,从第一候选视觉信息中确定当前视觉图像帧对应的标准视觉信息。若第一候选视觉信息只有一个,则可以根据第二候选视觉信息,确定当前视觉图像帧对应的标准视觉信息;也可以根据第一候选视觉信息和第二候选视觉信息,确定当前视觉图像帧对应的标准视觉信息。
其中,标准视觉信息为与当前视觉图像帧中环境信息相似度最高的一个候选视觉信息。
基于上述步骤210-步骤230,参见图3,假设机器人建图时在每次构建局部地图,以及局部地图的中间激光帧的采样时刻执行一次获取视觉信息的操作,由于前后两个局部地图中存在重叠的激光帧,因此,建图时刻采集的视觉信息可能存在于两个相邻的局部地图中。
作为一个示例,若局部地图2中存在一个激光SLAM定位失效点1,则可以在局部地图2中获取4个第一候选视觉信息(即图3中定位失效点1虚线连接的4个视觉信息),同时,在局部地图1中获取对应的2个视觉信息,在局部地图3中获取对应的5个视觉信息,将局部地图1和局部地图3中获取的视觉信息作为第二候选视觉信息,然后,根据第一候选信息和/或第二候选视觉信息确定标准视觉信息。
作为另一个示例,若局部地图4中存在一个激光SLAM定位失效点2,则可以在局部地图4中确定距离该定位失效点2最近的视觉信息(即图3中定位失效点2虚线连接的1个视觉信息),并将该视觉信息直接确定为标准视觉信息。
可选地,由于相邻局部地图共享一个视觉信息,因此,在获取第一候选信息和第二候选信息后,可以对重复的视觉信息进行剔除操作。
在本实施例中,基于目标局部地图,在目标局部地图和/或目标局部地图相邻的至少候选局部地图中,筛选当前视觉图像帧对应的标准视觉信息,可以缩小标准视觉信息的搜索范围,提高标准视觉信息的获取效率,以及获取到的标准视觉信息和当前视觉图像帧之间的匹配度。
在一个实施例中,如图4所示,上述步骤130中根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿的实现过程,可以包括以下步骤:
步骤410:获取标准视觉信息在对应的局部地图中的位姿信息。
在一种可能的实现方式中,步骤410的实现过程可以为:获取视觉传感器和激光传感器之间的坐标转换关系;对视觉信息中的特征点和局部地图中的特征点进行匹配,进而根据局部地图中各特征点的位姿信息和坐标转换关系,确定标准视觉信息中对应特征点转换到局部地图中时对应的位姿,以此确定标准视觉信息在局部地图中的位姿信息。
另外,位姿信息可以根据建图时采集视觉信息的视觉传感器的位姿确定,也可以在建图过程中直接将位姿信息记录对应的局部地图中。
步骤420:根据当前视觉图像帧和标准视觉信息匹配的多个匹配特征点对,获取当前视觉图像帧和标准视觉信息之间的变换关系。
具体地,根据当前视觉图像帧和标准视觉信息匹配的多个匹配特征点对,确定当前视觉图像帧中的特征点,较标准视觉信息中对应特征点的偏移信息,进而根据多个匹配特征点对中特征点的偏移信息,计算当前视觉图像帧和标准视觉信息之间的变换关系。
其中,该变换关系可以反映采集当前视觉图像帧的视觉传感器和采集标准视觉信息的视觉传感器之间的坐标系变换关系。
步骤430:根据位姿信息和变换关系,确定机器人在目标环境中的位姿。
在一种可能的实现方式中,根据位姿信息和变换关系,即可将当前视觉图像帧中的特征点,转换到标准视觉信息对应的局部地图中进行表示,以此来确定机器人在局部地图中的位姿,进而确定机器人在目标环境中的位姿。
作为一个示例,机器人的位姿可以通过下述公式(1)计算得到:
Pose_current=Pmark_node*Ptrans_cams (1)
Pose_current=Pmark_node*Ptrans_cams (1)
式中,Pose_current表示机器人当前时刻在目标环境中的位姿,Ptrans_cams是根据当前视觉图像帧和标准视觉信息计算出来的变换关系,Pmark_node为标准视觉信息在对应的局部地图中的位姿信息。
在本实施例中,在当前激光帧和目标局部地图失败的情况下,机器人定位***切换至视觉辅助定位流程,通过采集当前视觉图像帧,以及当前视觉图像帧对应的标准视觉信息,确定机器人在目标环境中的位姿,实现了复杂场景下的有效定位,保证机器人定位***的稳定运行。
综合上述各方法实施例,如图5所示,本申请还提供了另一种定位方法,同样以该方法应用于机
器人为例进行说明,包括以下步骤:
步骤510:根据当前激光帧与目标局部地图的匹配情况,确定激光SLAM定位是否失效。
其中,若目标环境的当前激光帧与目标局部地图匹配成功,则执行下述步骤520;若目标环境的当前激光帧与目标局部地图匹配失败,则激光SLAM定位失效,切换至视觉SLAM定位,执行下述步骤530。
另外,目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息。
步骤520:若目标环境的当前激光帧与目标局部地图匹配成功,根据当前激光帧和目标局部地图,确定机器人在目标环境中的位姿。
步骤530:若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧。
步骤540:基于目标局部地图,从地图数据库中获取目标局部地图对应的视觉信息,得到第一候选视觉信息。
步骤550:从地图数据库中获取与目标局部地图相邻的至少一个候选局部地图,将各候选局部地图对应的视觉信息确定为第二候选视觉信息。
步骤560:根据第一候选视觉信息和/或第二候选视觉信息,确定当前视觉图像帧对应的标准视觉信息。
步骤570:获取标准视觉信息在对应的局部地图中的位姿信息。
步骤580:根据当前视觉图像帧和标准视觉信息匹配的多个匹配特征点对,获取当前视觉图像帧和标准视觉信息之间的变换关系。
步骤590:根据位姿信息和变换关系,确定机器人在目标环境中的位姿。
需要说明的是,本实施例提供的定位方法中各步骤的实现原理和技术效果与前面各方法实施例相类似,具体的限定和解释可参见前面各方法实施例,在此不再赘述。
基于上述实施例中的定位方法,机器人在基于先验地图进行导航定位之前,还需要预先在目标环境中移动一圈,以构建目标环境对应的多个局部地图。接下来,结合附图6-图8,对建图过程中构建地图数据库的实现过程进行解释说明。
在一个实施例中,如图6所示,本申请还提供了一种地图数据库构建方法,同样以该方法应用于机器人为例进行说明,包括以下步骤:
步骤610:获取机器人采集的目标环境的激光帧序列,以及机器人每间隔预设时长在目标环境中采集的多个视觉信息。
其中,预设时长是预先设置的视觉信息采集周期,比如,10秒、20秒、30秒等;预设时长还可以是根据激光传感器的数据采集频率设置的,比如,每采集5次激光帧,采集一次视觉信息。
在可选实施例中,每采集预设次激光帧,则会生成一个局部地图,且同时会采集一次视觉信息,从而使得视觉信息可以位于相邻局部地图之间,且分别与相邻的两个局部地图关联。
在其他实施例中,也可以是在局部地图中采集视觉信息,这里不做限定。
另外,若机器人激光定位精度低于预设值,则执行视觉信息补充操作;视觉信息补充操作用于补充采集目标环境中的视觉信息。
也即是,根据当前激光帧和前一激光帧确定的位姿和上一次激光定位确定的位姿之间的偏差大于预设值时,则表征激光定位精度较低,需要补充采集视觉信息,以通过视觉信息弥补激光传感器采集的目标环境中的环境信息。
作为一个示例,参见图7,假设在每次构建局部地图的时刻均采集一次视觉信息,同时,在局部地图对应的中间激光帧的采集时刻也采集一次视觉信息。若A时刻基于当前激光帧和前一激光帧确定机器人激光定位精度低于预设值,则在A时刻补充采集一次视觉信息;同理,若B时刻基于当前激光帧和前一激光帧确定机器人激光定位精度低于预设值,则在B时刻补充采集一次视觉信息。
也即是,一个局部地图中可以对应多个视觉信息,补充采集的视觉信息均是在基于相邻激光帧进行机器人定位时,定位精度低于预设值的时刻补充采集的。
步骤620:根据激光帧序列和多个视觉信息,构建地图数据库。
需要说明的是,激光帧序列中的激光帧数量远多于视觉信息的采集数量,在构建地图数据库时,局部地图是根据激光帧序列中的激光点云数据构建的,视觉信息作为局部地图的补充信息,同样存储在地图数据库中。
换言之,本申请采用的是激光SLAM进行建图的,在建图过程中采集的视觉信息仅在激光定位失效的情况下作为补充信息进行定位,并不执行视觉SLAM建图的流程。
在一种可能的实现方式中,步骤620的实现过程可以为:根据激光帧序列生成多个在空间上连续的局部地图;根据各视觉信息和激光帧的采集时刻,确定视觉信息对应的激光帧,进而将视觉信息添加到对应激光帧所构建的局部地图中,构建地图数据库。
如此,构建好的地图数据库中包括多个局部地图,且每个局部地图对应至少一个视觉信息。
在本实施例中,机器人在目标环境中移动时,通过激光传感器采集目标环境的激光帧序列,并按照预设时长在目标环境中采集视觉信息,进而根据激光帧序列和多个视觉信息,构建地图数据库。如此,由于地图数据库中预先存储有一些视觉信息,则在激光定位失效的情况下,可以通过采集视觉图像帧,并从地图数据库中匹配视觉信息的方式来进行定位,以保证定位***在复杂环境下的稳定性。
接上述图6对应的实施例,在一个实施例中,如图8所示,上述步骤620中根据激光帧序列和多个视觉信息,构建地图数据库的实现过程,可以包括以下步骤:
步骤810:按照预设数量对激光帧序列进行划分,对划分得到的多组激光帧分别进行建图,得到多个局部地图。
其中,预设数量可以是基于经验设定的数量,比如,5帧、10帧、15帧等。
需要说明的是,为保证局部地图在空间环境上的连续性,建图时的相邻局部地图中至少存在一个重复的激光帧。
作为一个示例,若局部地图1和局部地图2为空间上相邻的局部地图,且建图时设定使用5个激光帧创建一张局部地图,则第1-5个激光帧用于创建局部地图1,第4-9个激光帧用于创建局部地图2,第4个激光帧在局部地图1和局部地图2中均存在。
步骤820:获取多个视觉信息和激光帧序列之间的关联关系。
在一种可能的实现方式中,步骤820的实现过程为:获取采集多个视觉信息的视觉传感器的标定参数,以及视觉传感器与采集激光帧序列的激光传感器之间的坐标转换关系;根据视觉传感器的标定参数和坐标转换关系,确定多个视觉信息和激光帧序列之间的关联关系。
其中,视觉传感器的标定参数可以反映采集的视觉图像帧中特征点与视觉传感器的坐标系之间的转换关系。视觉传感器和激光传感器之间的坐标转换关系,可以根据与视觉信息对齐的激光帧中的特征点确定。
因此,根据视觉传感器的标定参数和坐标转换关系,可以计算视觉信息中特征点在局部地图中的位姿,从而建立多个视觉信息和激光帧序列之间的关联关系。
作为一个示例,多个视觉信息和激光帧序列之间的关联关系可以通过下述公式(2)计算得到:
Pmark_node=Pose_vcam*Pose_vmark (2)
Pmark_node=Pose_vcam*Pose_vmark (2)
式中,Pmark_node表示视觉信息在对应的局部地图中的位姿,Pose_vmark表示视觉传感器的标定参数,可根据双目视觉恢复三维技术、RGBD三维技术获得;Pose_vcam为视觉传感器与激光传感器之间的坐标转换关系。
步骤830:根据关联关系,将多个视觉信息添加到对应的局部地图中,得到地图数据库。
也即是,在确定视觉信息中的特征点转换到局部地图中的位姿后,即可将视觉信息添加到对应的局部地图中,创建地图数据库。
需要说明的是,激光SLAM建图后,还需要进行一次大回环优化,调整局部地图、激光帧在世界坐标系中的位姿,然后利用调整后的激光帧和局部地图,构建目标环境的全局地图,完成建图。
由于视觉信息中特征点的坐标都是通过上述公式(2)快速计算得到的,因此,回环优化过程中不会额外增加视觉信息中特征点位姿调整的计算量。
在本实施例中,按照预设数量对激光帧序列进行划分,对划分得到的多组激光帧分别进行建图,得到多个局部地图;然后,根据多个视觉信息和激光帧序列之间的关联关系,将多个视觉信息添加到对应的局部地图中,得到地图数据库。如此,在地图数据库中引入视觉信息,但又没有将视觉信息的匹配关系加入地图优化过程中,降低了地图优化的计算复杂度,同时保留了视觉信息的丰富性,在激光匹配失效的时候可以快速切换尝试视觉辅助功能,从而保证定位可继续实施。
综合上述建图过程对应的实施例,如图9所示,本申请还提供了另一种地图数据库构建方法,同样以该方法应用于机器人为例进行说明,包括以下步骤:
步骤910:获取机器人采集的目标环境的激光帧序列,以及机器人每间隔预设时长在目标环境中采集的多个视觉信息。
其中,若机器人激光定位精度低于预设值,则执行视觉信息补充操作;视觉信息补充操作用于补充采集目标环境中的视觉信息。
步骤920:按照预设数量对激光帧序列进行划分,对划分得到的多组激光帧分别进行建图,得到多个局部地图。
步骤930:获取采集多个视觉信息的视觉传感器的标定参数,以及视觉传感器与采集激光帧序列的激光传感器之间的坐标转换关系。
步骤940:根据视觉传感器的标定参数和坐标转换关系,确定多个视觉信息和激光帧序列之间的关联关系。
步骤950:根据关联关系,将多个视觉信息添加到对应的局部地图中,得到地图数据库。
需要说明的是,本实施例提供的地图数据库构建方法中各步骤的实现原理和技术效果与前面图6和图7对应的方法实施例相类似,具体的限定和解释可参见前面图6和图7对应的方法实施例,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的定位方法的定位装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个定位装置实施例中的具体限定可以参见上文中对于定位方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种定位装置,该装置1000包括:环境图像获取模块1010、视觉信息获取模块1020和定位模块1030,其中:
环境图像获取模块1010,用于若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;
视觉信息获取模块1020,用于从地图数据库中获取当前视觉图像帧对应的标准视觉信息;
定位模块1030,用于根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
在其中一个实施例中,视觉信息获取模块1020,包括:
第一获取单元,用于基于目标局部地图,从地图数据库中获取目标局部地图对应的视觉信息,得到第一候选视觉信息;
第二获取单元,用于从地图数据库中获取与目标局部地图相邻的至少一个候选局部地图,将各候选局部地图对应的视觉信息确定为第二候选视觉信息;
视觉信息确定单元,用于根据第一候选视觉信息和/或第二候选视觉信息,确定当前视觉图像帧对应的标准视觉信息。
在其中一个实施例中,定位模块1030,包括:
第三获取单元单元,用于获取标准视觉信息在对应的局部地图中的位姿信息;
匹配单元,用于根据当前视觉图像帧和标准视觉信息匹配的多个匹配特征点对,获取当前视觉图像帧和标准视觉信息之间的变换关系;
位姿确定单元,用于根据位姿信息和变换关系,确定机器人在目标环境中的位姿。
在其中一个实施例中,该装置1000,还包括:
数据采集模块,用于获取机器人采集的目标环境的激光帧序列,以及机器人每间隔预设时长在目标环境中采集的多个视觉信息;各视觉信息位于相邻局部地图之间;
建图模块,用于根据激光帧序列和多个视觉信息,构建地图数据库。
在其中一个实施例中,建图模块,包括:
数据分组单元,用于按照预设数量对激光帧序列进行划分,对划分得到的多组激光帧分别进行建图,得到多个局部地图;
信息关联单元,用于获取多个视觉信息和激光帧序列之间的关联关系;
信息补充单元,用于根据关联关系,将多个视觉信息添加到对应的局部地图中,得到地图数据库。
在其中一个实施例中,信息关联单元,包括:
第一获取子单元,用于获取采集多个视觉信息的视觉传感器的标定参数,以及视觉传感器与采集激光帧序列的激光传感器之间的坐标转换关系;
确定子单元,用于根据视觉传感器的标定参数和坐标转换关系,确定多个视觉信息和激光帧序列之间的关联关系。
在其中一个实施例中,在装置1000中:
上述数据采集模块,还用于若机器人激光定位精度低于预设值,则执行视觉信息补充操作;视觉信息补充操作用于补充采集目标环境中的视觉信息。
在其中一个实施例中,在该装置1000中:
上述定位模块1030,还用于若目标环境的当前激光帧与目标局部地图匹配成功,则根据当前激光帧和目标局部地图,确定机器人在目标环境中的位姿。
上述定位装置1000中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种机器人,该机器人的内部结构如图11所示。该机器人包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该机器人的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种定位方法。该机器人的显示屏可以是液晶显示屏或者电子墨水显示屏,该机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,该计算机设备可以为上述机器人或其他智能移动设备;该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多
个局部地图和每个局部地图对应的视觉信息;
从地图数据库中获取当前视觉图像帧对应的标准视觉信息;
根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;
从地图数据库中获取当前视觉图像帧对应的标准视觉信息;
根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
若目标环境的当前激光帧与目标局部地图匹配失败,获取目标环境的当前视觉图像帧;目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,地图数据库中包括针对目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;
从地图数据库中获取当前视觉图像帧对应的标准视觉信息;
根据当前视觉图像帧与标准视觉信息,确定机器人在目标环境中的位姿。
上述实施例提供的一种计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
- 一种定位方法,所述方法包括:若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧;所述目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,所述地图数据库中包括针对所述目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;从所述地图数据库中获取所述当前视觉图像帧对应的标准视觉信息;及根据所述当前视觉图像帧与所述标准视觉信息,确定机器人在所述目标环境中的位姿。
- 根据权利要求1所述的方法,所述若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧之前,还包括:根据当前激光帧中的点云和目标局部地图中的3D地图点进行特征点匹配;得到当前激光帧和目标局部地图之间的匹配关系。
- 根据权利要求1所述的方法,所述若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧之前,还包括:根据当前激光帧和目标局部地图,计算机器人的位姿;根据所述机器人的位姿与上一激光帧确定的位姿之间的偏差情况,判断当前激光帧和目标局部地图是否匹配成功。
- 根据权利要求3所述的方法,所述根据所述机器人的位姿与上一激光帧确定的位姿之间的偏差情况,判断当前激光帧和目标局部地图是否匹配成功,包括:若所述机器人的位姿与上一激光帧确定的位姿之间的偏差大于预设的位姿偏差值,则判定当前激光帧和目标局部地图匹配失败。
- 根据权利要求1所述的方法,所述若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧之前,还包括:根据当前激光帧和目标局部地图进行特征点匹配,获取匹配特征点对;根据所述匹配特征点对和预设的特征点对阈值,判断当前激光帧和目标局部地图是否匹配成功。
- 根据权利要求5所述的方法,所述根据所述匹配特征点对和预设的特征点对阈值,判断当前激光帧和目标局部地图是否匹配成功,包括:当所述匹配特征点对的数量大于所述特征点对阈值时,判定当前激光帧和目标局部地图匹配成功;当所述匹配特征点对的数量小于或等于所述特征点对阈值时,判定当前激光帧和目标局部地图匹配失败。
- 根据权利要求1所述的方法,所述从所述地图数据库中获取所述当前视觉图像帧对应的标准视觉信息,包括:基于所述当前视觉图像帧,遍历所述地图数据库中各局部地图对应的视觉信息;计算所述当前视觉图像帧和多个视觉信息之间的相似度,将相似度最高的一个视觉信息,确定为所述当前视觉图像帧对应的标准视觉信息。
- 根据权利要求1所述的方法,所述从所述地图数据库中获取所述当前视觉图像帧对应的标准视觉信息,包括:基于所述目标局部地图,从所述地图数据库中获取所述目标局部地图对应的视觉信息,得到第一候选视觉信息;从所述地图数据库中获取与所述目标局部地图相邻的至少一个候选局部地图,将各所述候选局部地图对应的视觉信息确定为第二候选视觉信息;根据所述第一候选视觉信息和/或所述第二候选视觉信息,确定所述当前视觉图像帧对应的标准视觉信息。
- 根据权利要求8所述的方法,所述根据所述第一候选视觉信息和/或所述第二候选视觉信息,确定所述当前视觉图像帧对应的标准视觉信息,包括:若所述第一候选视觉信息有多个,从所述第一候选视觉信息中确定所述当前视觉图像帧对应的标准视觉信息;若所述第一候选视觉信息只有一个,则根据所述第二候选视觉信息,确定所述当前视觉图像帧对应的标准视觉信息。
- 根据权利要求1所述的方法,所述根据所述当前视觉图像帧与所述标准视觉信息,确定所述机器人在所述目标环境中的位姿,包括:根据所述当前图像帧和所述标准视觉信息,获取两张图像中的匹配特征点对;根据所述匹配特征点对中特征点的偏移信息,确定所述机器人在所述目标环境中的位姿。
- 根据权利要求1所述的方法,所述根据所述当前视觉图像帧与所述标准视觉信息,确定所述机器人在所述目标环境中的位姿,包括:获取所述标准视觉信息在对应的局部地图中的位姿信息;根据所述当前视觉图像帧和所述标准视觉信息匹配的多个匹配特征点对,获取所述当前视觉图像帧和所述标准视觉信息之间的变换关系;根据所述位姿信息和所述变换关系,确定所述机器人在所述目标环境中的位姿。
- 根据权利要求11所述的方法,所述获取所述标准视觉信息在对应的局部地图中的位姿信息,包括:获取视觉传感器和激光传感器之间的坐标转换关系;对视觉信息中的特征点和局部地图中的特征点进行匹配,进而根据局部地图中各特征点的位姿信息和坐标转换关系,确定标准视觉信息中对应特征点转换到局部地图中时对应的位姿,以此确定标准视觉信息在局部地图中的位姿信息。
- 根据权利要求1-11任一项所述的方法,所述若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧之前,包括:获取所述机器人采集的所述目标环境的激光帧序列,以及所述机器人每间隔预设时长在所述目标环境中采集的多个视觉信息;各所述视觉信息位于相邻局部地图之间;根据所述激光帧序列和所述多个视觉信息,构建所述地图数据库。
- 根据权利要求13所述的方法,所述根据所述激光帧序列和所述多个视觉信息,构建所述地图数据库,包括:按照预设数量对所述激光帧序列进行划分,对划分得到的多组激光帧分别进行建图,得到多个局部地图;获取所述多个视觉信息和所述激光帧序列之间的关联关系;根据所述关联关系,将所述多个视觉信息添加到对应的局部地图中,得到所述地图数据库。
- 根据权利要求14所述的方法,所述获取所述多个视觉信息和所述激光帧序列之间的关联关系,包括:获取采集所述多个视觉信息的视觉传感器的标定参数,以及所述视觉传感器与采集所述激光帧序列的激光传感器之间的坐标转换关系;根据所述视觉传感器的标定参数和所述坐标转换关系,确定所述多个视觉信息和所述激光帧序列之间的关联关系。
- 根据权利要求13所述的方法,所述方法还包括:若所述机器人激光定位精度低于预设值,则执行视觉信息补充操作;所述视觉信息补充操作用于补充采集所述目标环境中的视觉信息。
- 根据权利要求1-11任一项所述的方法,所述方法还包括:若所述目标环境的当前激光帧与所述目标局部地图匹配成功,则根据所述当前激光帧和所述目标局部地图,确定所述机器人在所述目标环境中的位姿。
- 一种定位装置,所述装置包括:环境图像获取模块,用于若目标环境的当前激光帧与目标局部地图匹配失败,获取所述目标环境的当前视觉图像帧;所述目标局部地图为地图数据库中与当前激光帧相匹配的局部地图,所述地图数据库中包括针对所述目标环境预先构建的多个局部地图和每个局部地图对应的视觉信息;视觉信息获取模块,用于从所述地图数据库中获取所述当前视觉图像帧对应的标准视觉信息;定位模块,用于根据所述当前视觉图像帧与所述标准视觉信息,确定机器人在所述目标环境中的位姿。
- 一种机器人,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述的方法的步骤。
- 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210985736.3A CN115267796B (zh) | 2022-08-17 | 2022-08-17 | 定位方法、装置、机器人和存储介质 |
CN202210985736.3 | 2022-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024037299A1 true WO2024037299A1 (zh) | 2024-02-22 |
Family
ID=83752381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/109295 WO2024037299A1 (zh) | 2022-08-17 | 2023-07-26 | 定位方法、装置、机器人和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115267796B (zh) |
WO (1) | WO2024037299A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115267796B (zh) * | 2022-08-17 | 2024-04-09 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
CN115982399B (zh) * | 2023-03-16 | 2023-05-16 | 北京集度科技有限公司 | 图像查找方法、移动设备、电子设备、及计算机程序产品 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110174107A (zh) * | 2019-04-30 | 2019-08-27 | 厦门大学 | 一种导览机器人定位建图激光视觉融合方法和机器人 |
CN110533722A (zh) * | 2019-08-30 | 2019-12-03 | 的卢技术有限公司 | 一种基于视觉词典的机器人快速重定位方法及*** |
CN110568447A (zh) * | 2019-07-29 | 2019-12-13 | 广东星舆科技有限公司 | 视觉定位的方法、装置及计算机可读介质 |
CN111060101A (zh) * | 2018-10-16 | 2020-04-24 | 深圳市优必选科技有限公司 | 视觉辅助的距离slam方法及装置、机器人 |
CN111144349A (zh) * | 2019-12-30 | 2020-05-12 | 中国电子科技集团公司信息科学研究院 | 一种室内视觉重定位方法及*** |
CN111311684A (zh) * | 2020-04-01 | 2020-06-19 | 亮风台(上海)信息科技有限公司 | 一种进行slam初始化的方法与设备 |
CN111780763A (zh) * | 2020-06-30 | 2020-10-16 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的视觉定位方法、装置 |
US20210149413A1 (en) * | 2017-06-13 | 2021-05-20 | Lg Electronics Inc. | Method for positioning on basis of vision information and robot implementing same |
CN115267796A (zh) * | 2022-08-17 | 2022-11-01 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
CN115307641A (zh) * | 2022-07-29 | 2022-11-08 | 深圳市普渡科技有限公司 | 机器人定位方法、装置、机器人和存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106153048A (zh) * | 2016-08-11 | 2016-11-23 | 广东技术师范学院 | 一种基于多传感器的机器人室内定位及制图*** |
CN106272423A (zh) * | 2016-08-31 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 一种针对大尺度环境的多机器人协同制图与定位的方法 |
CN108759844B (zh) * | 2018-06-07 | 2021-11-16 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN110657803B (zh) * | 2018-06-28 | 2021-10-29 | 深圳市优必选科技有限公司 | 机器人定位方法、装置以及存储装置 |
CN111094895B (zh) * | 2018-06-29 | 2023-08-22 | 百度时代网络技术(北京)有限公司 | 用于在预构建的视觉地图中进行鲁棒自重新定位的***和方法 |
US10782137B2 (en) * | 2019-01-28 | 2020-09-22 | Qfeeltech (Beijing) Co., Ltd. | Methods, apparatus, and systems for localization and mapping |
CN109887053B (zh) * | 2019-02-01 | 2020-10-20 | 广州小鹏汽车科技有限公司 | 一种slam地图拼接方法及*** |
CN110261870B (zh) * | 2019-04-15 | 2021-04-06 | 浙江工业大学 | 一种用于视觉-惯性-激光融合的同步定位与建图方法 |
US11493635B2 (en) * | 2019-04-17 | 2022-11-08 | Uatc, Llc | Ground intensity LIDAR localizer |
CN110865393A (zh) * | 2019-11-29 | 2020-03-06 | 广州视源电子科技股份有限公司 | 基于激光雷达的定位方法及***、存储介质和处理器 |
CN111045017B (zh) * | 2019-12-20 | 2023-03-31 | 成都理工大学 | 一种激光和视觉融合的巡检机器人变电站地图构建方法 |
CN111060113B (zh) * | 2019-12-31 | 2022-04-08 | 歌尔股份有限公司 | 一种地图更新方法及装置 |
CN111258313B (zh) * | 2020-01-20 | 2022-06-07 | 深圳市普渡科技有限公司 | 多传感器融合slam***及机器人 |
CN111487642A (zh) * | 2020-03-10 | 2020-08-04 | 国电南瑞科技股份有限公司 | 基于三维激光和双目视觉的变电站巡检机器人定位导航***及方法 |
CN111337947B (zh) * | 2020-05-18 | 2020-09-22 | 深圳市智绘科技有限公司 | 即时建图与定位方法、装置、***及存储介质 |
CN111735446B (zh) * | 2020-07-09 | 2020-11-13 | 上海思岚科技有限公司 | 一种激光、视觉定位融合的方法及设备 |
CN112258600A (zh) * | 2020-10-19 | 2021-01-22 | 浙江大学 | 一种基于视觉与激光雷达的同时定位与地图构建方法 |
CN112596064B (zh) * | 2020-11-30 | 2024-03-08 | 中科院软件研究所南京软件技术研究院 | 激光与视觉融合的一体化室内机器人全局定位方法 |
CN112486171B (zh) * | 2020-11-30 | 2022-08-30 | 中科院软件研究所南京软件技术研究院 | 一种基于视觉的机器人避障方法 |
CN112785702B (zh) * | 2020-12-31 | 2023-06-20 | 华南理工大学 | 一种基于2d激光雷达和双目相机紧耦合的slam方法 |
CN114859370A (zh) * | 2021-01-20 | 2022-08-05 | 京东科技信息技术有限公司 | 定位方法和装置、计算机装置和计算机可读存储介质 |
CN113432533B (zh) * | 2021-06-18 | 2023-08-15 | 北京盈迪曼德科技有限公司 | 一种机器人定位方法、装置、机器人及存储介质 |
CN113376650B (zh) * | 2021-08-09 | 2021-11-23 | 浙江华睿科技股份有限公司 | 移动机器人定位方法及装置、电子设备及存储介质 |
CN113733166B (zh) * | 2021-11-08 | 2022-04-15 | 深圳市普渡科技有限公司 | 机器人定位方法、装置、机器人和计算机可读存储介质 |
CN114266871B (zh) * | 2022-03-01 | 2022-07-15 | 深圳市普渡科技有限公司 | 机器人、地图质量评估方法和存储介质 |
-
2022
- 2022-08-17 CN CN202210985736.3A patent/CN115267796B/zh active Active
-
2023
- 2023-07-26 WO PCT/CN2023/109295 patent/WO2024037299A1/zh unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210149413A1 (en) * | 2017-06-13 | 2021-05-20 | Lg Electronics Inc. | Method for positioning on basis of vision information and robot implementing same |
CN111060101A (zh) * | 2018-10-16 | 2020-04-24 | 深圳市优必选科技有限公司 | 视觉辅助的距离slam方法及装置、机器人 |
CN110174107A (zh) * | 2019-04-30 | 2019-08-27 | 厦门大学 | 一种导览机器人定位建图激光视觉融合方法和机器人 |
CN110568447A (zh) * | 2019-07-29 | 2019-12-13 | 广东星舆科技有限公司 | 视觉定位的方法、装置及计算机可读介质 |
CN110533722A (zh) * | 2019-08-30 | 2019-12-03 | 的卢技术有限公司 | 一种基于视觉词典的机器人快速重定位方法及*** |
CN111144349A (zh) * | 2019-12-30 | 2020-05-12 | 中国电子科技集团公司信息科学研究院 | 一种室内视觉重定位方法及*** |
CN111311684A (zh) * | 2020-04-01 | 2020-06-19 | 亮风台(上海)信息科技有限公司 | 一种进行slam初始化的方法与设备 |
CN111780763A (zh) * | 2020-06-30 | 2020-10-16 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的视觉定位方法、装置 |
CN115307641A (zh) * | 2022-07-29 | 2022-11-08 | 深圳市普渡科技有限公司 | 机器人定位方法、装置、机器人和存储介质 |
CN115267796A (zh) * | 2022-08-17 | 2022-11-01 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115267796B (zh) | 2024-04-09 |
CN115267796A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024037299A1 (zh) | 定位方法、装置、机器人和存储介质 | |
Shin et al. | Roarnet: A robust 3d object detection based on region approximation refinement | |
WO2020233724A1 (zh) | 一种基于视觉slam的电网作业环境地图的构建方法及*** | |
WO2022121640A1 (zh) | 机器人重定位方法、装置、机器人和可读存储介质 | |
US20220258356A1 (en) | Visual perception device based spatial calibration method and apparatus for robot body coordinate system, and storage medium | |
JP7214803B2 (ja) | 建築物の測位方法、装置、電子デバイス、記憶媒体、プログラム、及び端末デバイス | |
Pan et al. | Gem: online globally consistent dense elevation mapping for unstructured terrain | |
WO2023087758A1 (zh) | 定位方法、定位装置、计算机可读存储介质和计算机程序产品 | |
CN113447014A (zh) | 室内移动机器人、建图方法、定位方法以及建图定位装置 | |
De Croce et al. | DS-PTAM: distributed stereo parallel tracking and mapping SLAM system | |
CN115307641A (zh) | 机器人定位方法、装置、机器人和存储介质 | |
KR102568948B1 (ko) | 장애물 속도를 결정하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
Bobkov et al. | Vision-based navigation method for a local maneuvering of the autonomous underwater vehicle | |
Lovi et al. | Predictive display for mobile manipulators in unknown environments using online vision-based monocular modeling and localization | |
WO2023088127A1 (zh) | 室内导航方法、服务器、装置和终端 | |
Zhang et al. | PR-SLAM: Parallel Real-Time Dynamic SLAM Method Based on Semantic Segmentation | |
CN115205419A (zh) | 即时定位与地图构建方法、装置、电子设备及可读存储介质 | |
CN113947716A (zh) | 闭环检测方法、装置、机器人及存储介质 | |
Zhang et al. | A visual slam system with laser assisted optimization | |
CN112648997A (zh) | 一种基于多任务网络模型定位的方法及*** | |
TWI803334B (zh) | 深度估計模型優化與物體距離檢測方法及相關設備 | |
US20230290101A1 (en) | Data processing method and apparatus, electronic device, and computer-readable storage medium | |
WO2023184223A1 (zh) | 基于脑启发空间编码机制的机器人自主定位方法和装置 | |
CN111968157B (zh) | 一种应用于高智能机器人的视觉定位***及方法 | |
Shuai et al. | Multi-sensor Fusion for Autonomous Positioning of Indoor Robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23854203 Country of ref document: EP Kind code of ref document: A1 |