Map updating method, computer device and storage apparatus

By selecting keyframes and constructing a pose factor graph model, and using constraint factors to update reference map data, the problem of inaccurate localization of intelligent robots when the environment changes is solved, and stable map updates and accurate localization are achieved.

CN115127538BActive Publication Date: 2025-11-28ZHEJIANG HUARAY TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210531792.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-16
Publication Date
2025-11-28
Estimated Expiration
2042-05-16

AI Technical Summary

Technical Problem

In existing technologies, intelligent robots cannot reliably update maps when the environment changes, leading to inaccurate or non-localization issues.

Method used

By selecting key frames from the sensor data of the device to be located, determining constraint factors using the reference description relationship between the key frames and the reference map data, updating the reference map data (including prior map, local map, and inter-frame relationship), and constructing a pose factor graphical model for optimization solution.

Benefits of technology

It improves the stability of map updates and the accuracy of positioning, adapts to environmental changes, and ensures that the robot can be stably positioned in different environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115127538B_ABST
    Figure CN115127538B_ABST
Patent Text Reader

Abstract

The application discloses a map updating method, a computer device and a storage device. The method comprises the following steps: screening at least one key frame from sensing data of a to-be-positioned device; determining at least one constraint factor by using the at least one key frame, wherein the constraint factor comprises a reference description relationship between the key frame and reference map data, and the reference map data is used for positioning the to-be-positioned device; and updating the reference map data by using the at least one constraint factor. The above scheme can improve the stability of map updating.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the positioning technical field, in particular to a map updating method, a computer device and a storage device. BACKGROUND

[0002] With the development of science and technology, and the increasing demand of people for the quality of life, intelligent robots gradually appear in people's daily life, such as cleaning robots, industrial robots, service robots, robots for carrying goods in warehouses, etc. In the running process of the intelligent robot, the intelligent robot is usually positioned in real time according to the map, and needs to obtain the environment map around the position of the intelligent robot, so as to obtain the walking route of the robot and the position thereof. Usually, in the case that the environment is stable and unchangeable, the stable positioning of the intelligent robot can be realized.

[0003] However, in the actual use process, due to the continuous change of the environment or space, that is, if the environment has changed significantly, the actual situation in the environment is too different from the information in the map, and the map cannot adapt to the scene of the changing environment, which will lead to the failure of positioning or positioning error. SUMMARY

[0004] The technical problem solved by the present application is to provide a map updating method, a computer device and a storage device, which can improve the stability of map updating.

[0005] In order to solve the above problems, the first aspect of the present application provides a map updating method, which comprises: screening at least one key frame from the sensing data of a to-be-positioned device; determining at least one constraint factor by using the at least one key frame, wherein the constraint factor comprises a reference description relationship between the key frame and reference map data, and the reference map data is used for positioning the to-be-positioned device; and updating the reference map data by using the at least one constraint factor.

[0006] In order to solve the above problems, the second aspect of the present application provides a computer device, which comprises a memory and a processor coupled with each other, the memory stores program data, and the processor is used for executing the program data to realize any step of the above-mentioned map updating method.

[0007] In order to solve the above problems, the third aspect of the present application provides a storage device, which stores program data capable of being run by a processor, and the program data is used for realizing any step of the above-mentioned map updating method.

[0008] The above scheme, by selecting at least one keyframe from the sensor data of the device to be located, and then using the reference description relationship between the keyframe and the reference map data to determine at least one constraint factor, updates the reference map data using the at least one constraint factor. By comprehensively considering the reference description relationship between the keyframe and the reference map data, the stability of the reference map data update can be improved. Thus, using the updated reference map data for positioning can improve the accuracy of positioning the device to be located. Attached Figure Description

[0009] To more clearly illustrate the technical solutions in this application, the accompanying drawings required in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:

[0010] Figure 1 This is a flowchart illustrating an embodiment of the map updating method of this application;

[0011] Figure 2 This application Figure 1 A flowchart illustrating step S12 of the first embodiment;

[0012] Figure 3 This application Figure 1 A flowchart illustrating step S12 of the second embodiment;

[0013] Figure 4 This application Figure 1 A flowchart illustrating step S12 of the third embodiment;

[0014] Figure 5 This application Figure 1 A flowchart illustrating an embodiment of step S13;

[0015] Figure 6 This is a schematic diagram of the structure of an embodiment of the pose factor graph model of this application;

[0016] Figure 7 This is a schematic diagram of the structure of an embodiment of the map updating device of this application;

[0017] Figure 8 This is a schematic diagram of the structure of an embodiment of the computer device of this application;

[0018] Figure 9 This is a schematic diagram of the structure of an embodiment of the storage device of this application. Detailed Implementation

[0019] With reference to the drawings, the technical solutions in the embodiments of the present application will be clearly and completely described below. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of the present application.

[0020] The terms "first", "second", etc. in the present application are only used for descriptive purpose, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second", etc. can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "multiple" is at least two, for example, two, three, etc., unless otherwise specifically limited. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but can optionally include steps or units not listed or can optionally include other steps or units inherent to the process, method, product or device.

[0021] In the present application, referring to "embodiments" means that the specific features, structures or properties described in combination with the embodiments can be included in at least one embodiment of the present application. The phrase appears at various places in the specification does not necessarily refer to the same embodiment, nor is it independent or alternative to other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0022] The present application provides the following embodiments, which will be specifically described below.

[0023] Please refer to Figure 1 , Figure 1 is a flowchart of an embodiment of the map updating method of the present application. The method can include the following steps:

[0024] S11: From the sensor data of the to-be-positioned device, at least one key frame is screened out.

[0025] The map updating method of the present application can be used for map updating and positioning of a to-be-positioned device (such as a movable device), for example, a transport vehicle, a car, etc., and the present application is not limited thereto. As an example, the map updating method of the present application can be used for an Automated Guided Vehicle (AGV) which refers to a transport vehicle equipped with an automatic navigation device such as an electromagnetic or optical device, capable of traveling along a specified navigation path, having safety protection and various transfer functions. In the process of AGV navigation, the map can be updated to complete the positioning of the AGV through the updated map.

[0026] In the running process of the to-be-positioned device, various sensors can be used to collect sensing data, wherein the various sensors can be arranged on the to-be-positioned device or other places capable of collecting data of the to-be-positioned device, and the present application does not make any limitation thereto.

[0027] In some embodiments, the acquired sensing data can include. The to-be-positioned device can be provided with sensors such as a laser radar, an odometer, a camera, etc., and the to-be-positioned device can continuously acquire laser point cloud data, odometer data, camera images, etc. by using the 2D laser radar, the odometer, the camera, etc. in the running process. The laser point cloud data contains the sampling point coordinates and the reflection intensity of the scanning of the environment where the to-be-positioned device is located. The odometer data can be the speed information and the mileage information of the to-be-positioned device recorded by the odometer, and the relative pose change of the to-be-positioned device can be calculated by integrating the continuous multiple frames of odometer speed information. The camera image can be used to detect the two-dimensional code or texture in the environment where the to-be-positioned device is located.

[0028] In some embodiments, the sensing data of the to-be-positioned device can be acquired at a preset time interval or at a preset rate, and each sensor-acquired sensing data is provided with a time stamp, and each frame of sensing data can be determined based on the time stamp of the acquired sensing data of the to-be-positioned device, that is, the sensing data of the same time stamp can be regarded as the same frame of sensing data.

[0029] Since the processing and calculation of the laser point cloud data are more complex, the key frames are usually selected from the laser point cloud data. In the selection of at least one key frame, since the sensing data includes point cloud data collected at multiple time points, the point cloud data collected at each time point can be regarded as a frame, and the point cloud data collected at a time point when the relative pose of the to-be-positioned device to the previous key frame meets the requirements can be selected from the sensing data as a new key frame. The point cloud data of the first frame or the point cloud data of the first time point can be regarded as the previous key frame, and the sensing data such as the point cloud data, the odometer data, and the camera image can be contained in one key frame.

[0030] The relative pose satisfying the requirement includes that the relative pose is greater than a preset pose threshold, and the relative pose includes a relative distance or a relative angle. Specifically, starting from a key frame of previous laser point cloud data, the speed data of the odometer is integrated to obtain a relative distance and a relative angle of movement of the device to be positioned relative to the previous key frame. When the relative distance is greater than a preset distance threshold or the relative angle is greater than a preset angle threshold, the laser point cloud data collected at the current time can be regarded as the latest key frame. If the relative pose does not satisfy the requirement, the laser point cloud data obtained at the current time is discarded.

[0031] S12: determining at least one constraint factor by using the at least one key frame, wherein the constraint factor includes a reference description relationship between the key frame and reference map data, and the reference map data is used for positioning the device to be positioned.

[0032] In some embodiments, before step S11, that is, before running the device to be positioned, the reference map data of the device to be positioned can be constructed first. The reference map data can include prior map data and local map data, and the prior map data is an initial state description of the environment in which the device to be positioned is constructed.

[0033] When the prior map data is constructed, the prior map data can include a contour map and a landmark map of the environment. The contour map can be in the form of an occupancy grid map, a point cloud map, an NDT (Normal Distributions Transform) map, etc. (such as a form commonly used in the AGV field). The landmark map can include information such as a two-dimensional code, a ground texture, a reflective column, and a reflective plate. The form of the constructed prior map data and the landmarks can be selected according to the specific device to be positioned and the application scenario, and the present application does not limit this.

[0034] In some embodiments, a laser SLAM (Simultaneous Localization And Mapping) algorithm can be used to construct the prior map data of the device to be positioned. When the contour map of the environment in which the prior map data is constructed is constructed, the identifiable landmark map can also be calibrated synchronously. The SLAM algorithm can be, for example, Cartographer, Karto-slam, etc., and the present application does not limit this.

[0035] Before the device to be positioned runs the positioning system, the current pose of the device to be positioned needs to be initialized. An initial pose P={x, y, θ} of the current device to be positioned on the prior map data is obtained, wherein x and y represent the rectangular coordinates of the device to be positioned in the map reference system, and θ represents the yaw angle.

[0036] In some embodiments, when obtaining the current pose of the device to be positioned, a rough position range of the device to be positioned in the map reference system can be given manually, a search algorithm is executed to find a pose that makes the matching degree of the current frame laser point cloud data and the contour map highest, and the pose with the highest matching degree is taken as the initial pose of the device to be positioned.

[0037] In some embodiments, when obtaining the initial pose of the device to be positioned, a landmark such as a two-dimensional code, a texture, a reflective column, a reflective plate, etc. is calibrated in the environment in advance, and the landmark is provided with a pose of the landmark in the prior map data. The initial pose of the device to be positioned in the map reference system can be calculated by matching the landmark in the environment to be positioned with the landmark calibrated in advance.

[0038] After obtaining the initial pose of the device to be positioned, a local map data can be constructed. The local map data is consistent in form with the contour map in the prior map data, that is, any form such as an occupancy grid map, a point cloud map, an NDT map, etc. can be adopted.

[0039] When constructing the local map data, the point cloud data used for the initial initial pose can be taken as a first key frame, and the key frame is inserted into the local map data to update the local map data. The updating method can adopt, for example, a method such as Cartographer, Karto-slam, etc., which is not limited in the present application.

[0040] In some embodiments, the above prior map data and local map data can be used for positioning the device to be positioned.

[0041] In some embodiments, at least one constraint factor can be obtained by using a reference description relationship between at least one key frame and the reference map data. The at least one constraint factor can include a prior map constraint factor between the key frame and the prior map data, a local map constraint factor between the key frame and the local map data. When the at least one key frame includes a plurality of key frames, the constraint factor can further include an inter-frame constraint factor.

[0042] Among them, the prior map constraint factor can be obtained by using a reference description relationship between the key frame and the prior map data; the local map constraint factor can be obtained by using a reference description relationship between the key frame and the local map data; and the inter-frame constraint factor can be obtained by using a reference description relationship between the key frame and the key frame. The process can refer to the following embodiments for details.

[0043] S13: updating the reference map data by using the at least one constraint factor.

[0044] The pose factor graph model can be constructed based on the at least one constraint factor, and the pose factor graph model includes at least one constraint factor corresponding to at least one key frame, reference map data, and a to-be-solved pose variable of the key frame. Solving the pose factor graph model can obtain a solution of the to-be-solved pose variable of the key frame, so that the reference map data is updated by using the solution of the to-be-solved pose variable of the key frame. That is, the prior map data can be updated, so that the to-be-positioned device can be positioned by using the updated prior map data.

[0045] In the embodiment, at least one key frame is selected from the sensing data of the to-be-positioned device, at least one constraint factor is determined by using the reference description relationship between the at least one key frame and the reference map data, and the reference map data is updated by using the at least one constraint factor. The reference description relationship between the key frame and the reference map data is comprehensively considered, the stability of the reference map data updating can be improved, and the accuracy of positioning the to-be-positioned device can be improved by using the updated reference map data for positioning.

[0046] In some embodiments, referring to Figure 2 In the step S12, the at least one key frame can include a plurality of key frames, and an inter-frame constraint factor between the key frames can be obtained. The process can include the following steps:

[0047] S1211: performing preset relationship processing on the mileage information between the at least two key frames based on the sensing data corresponding to the plurality of key frames to obtain relationship mileage information; wherein the sensing data is environment data collected by using at least one sensor of the to-be-positioned device.

[0048] The environment data collected by using at least one sensor of the to-be-positioned device, that is, the sensing data, can include a laser radar, an odometer, a camera, and the like, and can include point cloud data, odometer data, camera images, and the like.

[0049] The preset relationship processing of the mileage information between the current key frame and the previous key frame can be obtained, for example, the integral processing of the mileage information is performed, and the mileage information after the integral calculation can be used as the relationship mileage information of the current key frame.

[0050] S1212: taking the relationship mileage information as an inter-frame constraint factor of the to-be-positioned device.

[0051] After obtaining the relationship mileage information corresponding to the current key frame, the relationship mileage information can be taken as an inter-frame constraint factor of the to-be-positioned device at the current key frame, and the expression of the inter-frame constraint factor is f odo_i = [x odo_i y odo_i θodo_i ] T x odo_i y odo_i θ odo_i These represent the rectangular coordinates and yaw angle in the map reference system, respectively.

[0052] In some embodiments, please refer to Figure 3 In step S12 above, the reference map data includes local map data, and the local map constraint factor between the keyframe and the local map data can be obtained. This process may include the following steps:

[0053] S1221: Register the keyframe with the local map data.

[0054] The point cloud data of the keyframe can be registered with the local map data. The point cloud registration method can be used for registration. The essence of point cloud registration is to transform the point cloud data measured in different coordinate systems to obtain the overall data model. The rotation matrix and translation vector of the coordinate transformation are solved to minimize the distance between the three-dimensional data measured from the two perspectives after coordinate transformation.

[0055] The method of registering each keyframe with the local map data is not limited in this application. For example, the scan matching method used in Cartographer, Karto-salm, etc. can be used. After registration, the registration result is obtained, which includes the rotation matrix and translation vector of the pose between the current keyframe and the local map data.

[0056] S1222: Based on the registration results, obtain the relative pose transformation relationship between the keyframe and the local map data, which can be used as the local map constraint factor between the keyframe and the local map data.

[0057] After registering the current keyframe with the local map data, the pose P of the current keyframe is obtained. i Pose of local map data submap The relative pose transformation relationship T between them i ={x i ,y i ,θ i Therefore, this relative pose transformation relationship can be used as a local map constraint factor between the current keyframe and the local map data. The expression for the local map constraint factor can be given as: f submap_i =[x submap_i y submap_i θ submap_i ] T x submap_i y submap_i θ submap_irespectively represent the rectangular coordinates and the yaw angle under the map reference system.

[0058] In some embodiments, the local map data of the device to be positioned can be updated by using the local map constraint factor, that is, the point cloud data of the current key frame can be inserted into the local map data to update the local map data. The updating method may, for example, include the contour map updating method used in Cartographer and Karto-slam. The present application can select the corresponding updating method based on the form of the local map data, and the present application does not limit this.

[0059] In some embodiments, the size (or area) of the local map data and the frame number of the key frame can be set within a range. When the size (or area) of the local map data exceeds the preset size (or preset area) and the frame number of the key frame exceeds the preset frame number, the key frame first added to the local map data can be deleted from the local map data, or the point cloud data of the key frame in the local map data can be deleted in chronological order according to the time stamp of the key frame.

[0060] In some embodiments, referring to Figure 4 In the above step S12, the reference map data includes prior map data, and the prior map constraint factor between the key frame and the prior map data can be obtained. The specific implementation process can include the following steps:

[0061] S1231: detecting at least one marker from the key frame.

[0062] In the environment in which the device to be positioned operates, there are pre-set markers, and the markers are set with a marker calibration pose. The pose can be a pose in the world coordinate system or a pose in the prior map coordinate system. When the device to be positioned operates, the markers can be detected and recognized by collecting sensor data through a sensor.

[0063] The markers include at least one of a two-dimensional code, a texture, and a reflective object (such as a reflective plate or a reflective column). For example, a camera can be used to detect a two-dimensional code from an image, a camera can be used to recognize a ground texture from an image, and a laser can be used to detect a reflective object.

[0064] In some embodiments, the key frame collected by the sensor can also be detected for the markers by the device to be positioned or other terminals, and the present application is not limited thereto.

[0065] If at least one marker is detected from the key frame, the following step S1232 is performed.

[0066] If no marker is detected from the key frame, the following step S1233 is performed.

[0067] S1232: If the marker is detected, determine the prior map constraint factor based on the pose of the key frame marker in the prior map data.

[0068] If the marker is detected, since the marker is provided with a calibrated pose, the relative marker pose of the device to be positioned and the marker can be obtained. If the marker is detected as a two-dimensional code, the relative pose of the device to be positioned relative to the two-dimensional code can be calculated. If the marker is detected as having a texture, the relative pose of the device to be positioned and the texture can be obtained. If the marker is detected as having a reflective object, the relative pose of the device to be positioned and the reflective object can be obtained by a triangulation method. The relative pose obtained by each type of marker can be taken as the relative calibrated pose of the device to be positioned and each type of marker, respectively, wherein the relative calibrated pose relative to the marker can be represented as: x map_i , y map_i , and θ map_i represent the rectangular coordinates and the yaw angle in the map reference system, respectively.

[0069] After obtaining the relative marker pose of the device to be positioned relative to the marker in the above process, the prior pose of the device to be positioned in the prior map data or the prior pose of the device to be positioned in the world coordinate system can be obtained by the relative marker pose (i.e., the pose T landmark = [x landmark y landmark θ landmark ] T previously calibrated in the prior map data) and the calibrated pose of the marker.

[0070] In some embodiments, the prior map constraint factor can be represented as: x map_i , y map_i , and θ map_i represent the rectangular coordinates and the yaw angle in the map reference system, respectively.

[0071] S1233: If the marker is not detected, determine the prior map constraint factor based on the response value of the device to be positioned in the registration between the prior map data.

[0072] If the marker is not detected, the point cloud data of the key frame is registered with the prior map data. The registration process can refer to the process of registering the key frame with the local map data described above, which will not be described here. After registration, the pose transformation relationship between the key frame of the device to be positioned and the prior map data can be obtained, and thus the registration pose of the device to be positioned in the prior map data can be obtained, which can be represented as: i x map_i , y map_i , and θmap_i ] T , x map_i , y map_i , θ map_i respectively represent the rectangular coordinates and the yaw angle under the map reference system.

[0073] The point cloud data of the key frame is projected to the prior map data by using the registration pose, that is, the point cloud data of the current key frame is projected to the reference (or the world reference system) in which the prior map data is located, to obtain a projected pose, so that the response value of the registration between the point cloud data of the key frame and the prior map data can be calculated. For example, the response value can be obtained by using the method for calculating the response value in Cartographer and Karto-slam, and the present application does not limit this.

[0074] If the response value is greater than a preset response threshold, the registration pose is taken as a prior map constraint factor.

[0075] In some embodiments, if no marker is detected in the key frame, and the response value is not greater than a preset response value, the prior map constraint factor of the key frame is not obtained, that is, the prior map constraint factor of the key frame is not added.

[0076] In the present embodiment, a plurality of markers are used as road sign information, and when one of the markers cannot be detected, the pose can be identified by detecting other markers, so that the key frame with a high response value for registration with the prior map data is used as a natural road sign, and the adaptability is high.

[0077] In some embodiments, referring to Figure 5 In the step S13, the reference map data is updated by using the at least one constraint factor, which can include the following steps:

[0078] S131: A pose factor graph model is established based on the at least one constraint factor and the reference map data, wherein the pose factor graph model includes the at least one constraint factor corresponding to a plurality of key frames, the reference map data, and a to-be-solved pose variable of the key frame.

[0079] In some embodiments, the at least one key frame includes a plurality of key frames, and after the at least one constraint factor is obtained by screening the at least one key frame, a pose factor graph model can be established based on the constraint factor and the reference map data and other information.

[0080] Referring to Figure 6 In the pose factor graph model, the to-be-solved pose variable of the key frame, the at least one constraint factor, and the reference map data are included. The to-be-solved pose variable of the key frame includes a local map pose variable P submap and a key frame pose variable {P i , Pi-1 ,…, i-N+1 The obtained constraint factors can be added to the pose factor graph model, and at least one constraint factor can include inter-frame constraint factors {f} between adjacent keyframes. odo_i ,f odo_i-1 ,…,f odo_i-N+2}, Local map constraint factor {f} between keyframes and local map data submap_i ,f submap_i-1 ,…,f submap_i-N+2}, Prior map constraint factor {f} between keyframes and prior map data map_1 ,f map_2 ,…,f map_k}

[0081] In some implementations, a sliding window approach can be used to control the number of keyframes in the pose factor graph model. When the number of keyframes in the pose factor graph model exceeds a preset number of frames N (or the number of pose variables to be solved for each keyframe exceeds the preset number of frames N, where N is a positive integer), the earliest keyframe added to the pose factor graph model can be deleted, that is, the keyframe with the earliest timestamp can be deleted. This ensures that the number of keyframes in the pose factor graph model does not exceed the preset number of frames.

[0082] In some implementations, the pose factor graph model can be initialized when the first keyframe is acquired. This initialization includes local map data, the keyframe pose variables corresponding to the first keyframe, prior map data, local map constraint factors between the first keyframe and the local map data, and prior map constraint factors between the first keyframe and the prior map data.

[0083] In some implementations, when acquiring the second keyframe, the constraint factors corresponding to the second keyframe can be added to the pose factor graph model. In this case, the inter-frame constraint factors between the first keyframe and the second keyframe can also be added.

[0084] In some implementations, an optimization solution is performed on the pose factor graph model every time a keyframe is added, that is, step S132 is performed every time a keyframe is added.

[0085] S132: Optimize and solve the pose factor graph model to obtain the keyframe pose and local map pose corresponding to multiple keyframes.

[0086] After constructing the pose factor graph model, the pose factor graph model is optimized and solved to obtain the solution of the pose variables to be solved in the keyframe in the pose factor graph model, that is, to obtain the local map pose and the keyframe solution pose corresponding to each keyframe.

[0087] In some embodiments, the above pose factor graph model can also be represented in a functional manner, and the process of optimizing the pose factor graph model can be represented as:

[0088]

[0089] In the above formula, P i-N+1 ,…,P i represent the to-be-solved pose variables of the key frames in the pose factor graph model, P submap represent the to-be-solved local map pose variables in the pose factor graph model. P k represents the pose of the Kth key frame; P submap represents the local map data; P map represents the prior map data; represents the inter-frame constraint factor between the Kth key frame and the (K-1)th key frame; f submap_k represents the local map constraint factor between the Kth key frame and the local map data; f map_k represents the prior map constraint factor between the Kth key frame and the prior map data.

[0090] Solving the above formula, the key frame solving pose {P i ,P i-1 ,…,P i-N+1} corresponding to each key frame (such as N key frames) and the local map pose are obtained.

[0091] S133: updating the reference map data based on the key frame solving poses corresponding to the plurality of key frames.

[0092] When updating the reference map data (such as the prior map data), it is necessary to determine whether a preset update condition for updating the prior map data is met, and the prior map data is updated only when the preset update condition is met.

[0093] Specifically, it can be determined whether there are no less than a second preset number M of to-be-solved pose variables of the key frames in the first preset number N of to-be-solved pose variables of the key frames {P i ,P i-1 ,…,P i-N+1}, that is, there are M key frames and the prior map data in the pose factor graph model, and the prior map constraint factor is established to establish the factor connection. Wherein, M is a positive integer less than or equal to N.

[0094] If the to-be-solved pose variables of the M key frames are connected with the prior map data to establish the factor connection, the key frame solving poses of the M key frames connected by the factor are marked as Determine whether the keyframe poses of the second preset number M keyframes all satisfy preset update conditions. These preset update conditions include: whether the residual between the transformed value and the prior value is less than a preset update threshold; the transformed value is the pose transformation relationship between the keyframe pose and the prior map data; and the prior value is the prior map constraint factor corresponding to the keyframe.

[0095] Specifically, the pose transformation relationship between the poses of the M keyframes and the prior map data is obtained, and the transformation values ​​are derived. The prior map constraint factors corresponding to the M keyframes are used as prior values ​​{f} map_1 ,f map_2 ,…,f map_m Obtain the residual between the transformed value and the prior value. The residuals include rectangular coordinates and yaw angle, that is...

[0096] Determine residuals When checking if the values ​​are less than the preset update threshold, it is necessary to determine whether the rectangular coordinates and yaw angles in each residual are both less than the preset update threshold (ths). Δx ,ths Δy ,ths Δθ The details are as follows:

[0097]

[0098]

[0099]

[0100] If the residuals corresponding to M keyframes are all less than the preset update threshold, and the keyframe poses of the M keyframes all satisfy the preset update conditions, then the prior map data is updated using the keyframe poses of the first preset number N keyframes.

[0101] The method for updating the prior map data can be determined based on the map format of the prior map data. For example, if the prior map data is an occupied grid map, the occupancy probability of the grid can be updated using a probabilistic refresh method; if the prior map data is a point cloud map, the poses of the keyframes corresponding to the N keyframes can be directly projected onto the map reference frame (such as the world reference frame) and merged into the point cloud data of the prior map data; if the prior map data is an NDT map, the point cloud data of the N keyframes can be projected onto the map reference frame and the NDT values ​​of the corresponding blocks can be updated again.

[0102] The updated prior map data can be used for positioning the to-be-positioned device, and the above-mentioned map updating method can be continuously performed until the to-be-positioned device has no sensing data or the positioning process is terminated.

[0103] In this embodiment, the local map constraint factor of the key frame, the prior map constraint factor, and the inter-frame constraint factor between adjacent key frames are uniformly added to the pose factor graph model for optimization and solving, so that the pose can be solved by using the environment contour map in an area with little environmental change, the pose can be solved by using the landmark of the artificial landmark in an area with significant environmental change, the pose can be accurately calculated by using the local map information in an area with significant environmental change, and the pose can be solved by using the local map in an area with significant environmental change and no landmark, and the environment adaptability is high.

[0104] In addition, whether to add the prior map constraint factor is judged by using the landmark or the matching response value of the key frame, so as to judge whether to update the prior map data. The prior map constraint factor is added only when the matching response value of the matching of the landmark or the key frame with the prior map data is high, so as to update the prior map data, so that the prior map data is always correctly updated, the positioning accuracy of the to-be-positioned device is improved, and the stability is ensured. In addition, the prior map data is updated when the key frame meets the preset updating condition, so that the map updating is always stable, and the error of updating the map caused by the error of calculating the pose of the key frame is prevented.

[0105] For the above-mentioned embodiment, the present application provides a map updating device. Please refer to Figure 7 , Figure 7 is a structural schematic diagram of an embodiment of the map updating device of the present application. The map updating device 70 comprises a key frame module 71, a constraint factor module 72, and an updating module 73.

[0106] The key frame module 71 is used for screening at least one key frame from the sensing data of the to-be-positioned device.

[0107] The constraint factor module 72 is used for determining at least one constraint factor by using the at least one key frame, wherein the constraint factor comprises a reference description relationship between the key frame and reference map data, and the reference map data is used for positioning the to-be-positioned device.

[0108] The updating module 73 is used for updating the reference map data by using the at least one constraint factor.

[0109] The specific implementation of this embodiment can refer to the implementation process of the above-mentioned embodiment, which will not be described here.

[0110] For the above-mentioned embodiment, the present application provides a computer device, please refer to Figure 8 , Figure 8is a structural schematic diagram of an embodiment of a computer device of the present application. The computer device 80 comprises a memory 81 and a processor 82, wherein the memory 81 and the processor 82 are coupled to each other, the memory 81 stores program data, and the processor 82 is configured to execute the program data to implement the steps in any of the above embodiments of the map updating method.

[0111] In this embodiment, the processor 82 can also be referred to as a CPU (Central Processing Unit). The processor 82 can be an integrated circuit chip having a processing capability of signals. The processor 82 can also be a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application-Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor 82 can also be any conventional processor or the like.

[0112] The specific implementation of this embodiment can refer to the implementation process of the above embodiments, which will not be described here.

[0113] For the method of the above embodiments, it can be implemented in the form of a computer program, and thus the present application proposes a storage device. Please refer to Figure 9 , Figure 9 is a structural schematic diagram of an embodiment of a storage device of the present application. The storage device 90 stores program data 91 capable of being executed by a processor, and the program data 91 can be executed by the processor to implement the steps in any of the above embodiments of the map updating method.

[0114] The specific implementation of this embodiment can refer to the implementation process of the above embodiments, which will not be described here.

[0115] The storage device 90 of this embodiment can be a U disk, a mobile hard disk, a ROM (Read-Only Memory), a RAM (Random Access Memory), a magnetic disk or an optical disk, etc., which can store the program data 91, or can also be a server storing the program data 91, which can send the stored program data 91 to other devices for execution, or can also execute the stored program data 91 by itself.

[0116] In several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other manners. For example, the division of the apparatus embodiments described above is merely an example, and the division of the modules or units can be different, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0117] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place or distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.

[0118] In addition, the functional units in each embodiment of the present application can be integrated into one processing unit, or each unit can be physically present separately, or two or more units can be integrated into one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0119] If the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a storage device, which is a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product, which is stored in a storage medium and includes a plurality of instructions for causing an electronic device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods of the various embodiments of the present application.

[0120] Obviously, those skilled in the art should understand that the above-mentioned modules or steps of the present application can be realized by general computing devices, which can be concentrated on a single computing device or distributed on a network composed of a plurality of computing devices, and optionally, they can be realized by program codes executable by computing devices, so that they can be stored in storage devices and executed by computing devices, or they can be made into individual integrated circuit modules, or a plurality of modules or steps can be made into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.

[0121] The above merely describes the embodiments of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation, or direct or indirect application in other related technical fields, which is made by using the content of the present application specification and drawings, is also included in the patent protection scope of the present application.

Claims

1. A map update method characterized by comprising: The method comprises: screening at least one key frame from the sensing data of the device to be positioned; wherein the at least one key frame comprises a plurality of key frames; determining at least one constraint factor by using the at least one key frame, wherein the constraint factor comprises a reference description relationship between the key frame and reference map data used for positioning the device to be positioned; updating the reference map data by using the at least one constraint factor, comprising: establishing a pose factor graph model based on the at least one constraint factor and the reference map data, wherein the pose factor graph model comprises the at least one constraint factor corresponding to the plurality of key frames, the reference map data, and a to-be-solved pose variable of the key frame; optimizing and solving the pose factor graph model to obtain a key frame solving pose corresponding to the plurality of key frames and a local map pose; updating the reference map data based on the key frame solving pose corresponding to the plurality of key frames.

2. The method of claim 1, wherein, The reference map data comprises local map data, and the determining at least one constraint factor by using the at least one key frame comprises: registering the key frame with the local map data; obtaining a relative pose transformation relationship between the key frame and the local map data based on a registration result, as a local map constraint factor between the key frame and the local map data.

3. The method of claim 1, wherein, The reference map data comprises prior map data, and the determining at least one constraint factor by using the at least one key frame comprises: detecting at least one marker from the key frame; if the marker exists, determining a prior map constraint factor based on a pose of the marker in the prior map data in the key frame; if the marker does not exist, determining a prior map constraint factor based on a response value of registration of the device to be positioned between the prior map data.

4. The method of claim 3, wherein, The determining a prior map constraint factor based on a pose of the marker in the prior map data in the key frame comprises: obtaining a relative marker pose of the device to be positioned and the marker, wherein the marker is provided with a calibrated pose; obtaining a prior pose of the device to be positioned in the prior map data by using the relative marker pose and the calibrated pose of the marker, and taking the prior pose as the prior map constraint factor.

5. The method of claim 3, wherein, The determining a prior map constraint factor based on a response value of registration of the device to be positioned between the prior map data comprises: registering the key frame with the prior map data to obtain a registration pose of the device to be positioned in the prior map data; projecting the key frame to the prior map data by using the registration pose to obtain a registration response value between the key frame and the prior map data; if the response value is greater than a preset response threshold, taking the registration pose as the prior map constraint factor.

6. The method of claim 3, wherein the marker comprises at least one of a two-dimensional code, a texture, and a reflective object.

7. The method of claim 1, wherein, The at least one key frame comprises a plurality of key frames; and the obtaining at least one constraint factor based on the at least one key frame comprises: performing preset relationship processing on mileage information between at least two key frames based on sensing data corresponding to the plurality of key frames, to obtain relationship mileage information, wherein the sensing data is environment data collected by at least one sensor of the device to be positioned; using the relationship mileage information as an inter-frame constraint factor of the device to be positioned.

8. The method of claim 1, wherein, The updating the reference map data based on the key frame solving poses of the plurality of key frames comprises: determining whether there are no less than a second preset number of key frame solving pose variables of the key frames that are connected with the prior map data based on a first preset number of key frame solving pose variables of the key frames; if there are, determining whether the key frame solving poses corresponding to the second preset number of key frames all satisfy a preset update condition; if the preset update condition is satisfied, updating the prior map data based on the key frame solving poses corresponding to the first preset number of key frames.

9. The method of claim 8, wherein the preset update condition comprises whether a residual between a transformation value and a prior value is less than a preset update threshold value; wherein the transformation value is a pose transformation relationship between the key frame solving pose corresponding to the key frame and the prior map data; and the prior value is a prior map constraint factor corresponding to the key frame. The at least one constraint factor comprises a local map constraint factor; and the method further comprises: updating local map data of the device to be positioned based on the local map constraint factor.

10. The method of claim 1, wherein, The sensing data comprises a plurality of point cloud data collected at different times; and the filtering at least one key frame from the sensing data of the device to be positioned comprises: selecting, from the sensing data, the point cloud data collected by the device to be positioned at a time when a relative pose of the device to be positioned with respect to a previous key frame satisfies a requirement, as a new key frame.

11. The method of claim 1, wherein, A memory and a processor are coupled to each other, the memory stores program data, and the processor executes the program data to implement the steps of the method of any one of claims 1 to 11. The memory stores program data executable by the processor, and the program data is used to implement the steps of the method of any one of claims 1 to 11.

12. A computer device, comprising: ​ 13. A memory device, comprising: ​

Citation Information

Patent Citations

  • Robot, map construction method and device and readable storage medium

    CN114255323A