CN113624222A - Map updating method, robot and readable storage medium - Google Patents

Map updating method, robot and readable storage medium Download PDF

Info

Publication number
CN113624222A
CN113624222A CN202110873422.XA CN202110873422A CN113624222A CN 113624222 A CN113624222 A CN 113624222A CN 202110873422 A CN202110873422 A CN 202110873422A CN 113624222 A CN113624222 A CN 113624222A
Authority
CN
China
Prior art keywords
key frame
robot
key
optimized
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110873422.XA
Other languages
Chinese (zh)
Inventor
谷雨隆
张思民
赵云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202110873422.XA priority Critical patent/CN113624222A/en
Priority to PCT/CN2021/126735 priority patent/WO2023005021A1/en
Publication of CN113624222A publication Critical patent/CN113624222A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles

Abstract

The application is applicable to the technical field of robots, and provides a map updating method, a robot and a readable storage medium, wherein the method comprises the following steps: acquiring each first key frame collected when the robot moves; processing each first key frame based on each first key frame and each second key frame of the initial map stored by the robot to obtain an optimized key frame of each first key frame; updating the initial map based on the optimization key frame to obtain the updated initial map; according to the method and the device, each first key frame and each second key frame in the initial map are adopted to process each first key frame together, so that the obtained optimized first key frame is more accurate, and the purpose of updating the initial map more accurately is achieved.

Description

Map updating method, robot and readable storage medium
Technical Field
The application belongs to the technical field of robots, and particularly relates to a map updating method, a robot and a readable storage medium.
Background
With the development of robots, robots are used in more and more scenes, such as restaurants, shopping malls, and the like.
The robot is provided with a map, senses the surrounding environment through laser when walking, and positions the position of the robot according to the map, so that collision between the robot and a barrier is avoided. However, in a complex scene, objects often move, such as a mall, a restaurant, etc., so that the actual scene deviates from the scene stored in the map. When the scene changes, if the robot still positions itself according to the scene in the map, inaccurate positioning may be caused. Therefore, when the scene changes, the map in the robot is updated in time, so that the problem can be avoided.
Disclosure of Invention
The embodiment of the application provides a map updating method, a robot and a readable storage medium, which can solve the problem that when a scene changes, the robot is inaccurately positioned because the map in the robot is not updated.
In a first aspect, an embodiment of the present application provides a map updating method, including:
acquiring each first key frame collected when the robot moves;
processing each first key frame based on each first key frame and each second key frame of the initial map stored by the robot to obtain an optimized key frame of each first key frame;
and updating the initial map based on the optimization key frame to obtain the updated initial map.
In a second aspect, an embodiment of the present application provides a robot, including:
the data acquisition module is used for acquiring each first key frame acquired by the robot when the robot moves;
the data processing module is used for processing each first key frame based on each first key frame and each second key frame of the initial map stored by the robot to obtain an optimized key frame of each first key frame;
and the map updating module is used for updating the initial map based on the optimization key frame to obtain the updated initial map.
In a third aspect, an embodiment of the present application provides a terminal device, including: a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the map updating method according to any one of the first aspect when executing the computer program.
In a fourth aspect, the present application provides a computer-readable storage medium, where a computer program is stored, where the computer program is implemented to implement the map updating method according to any one of the above first aspects when executed by a processor.
In a fifth aspect, the present application provides a computer program product, which when run on a terminal device, causes the terminal device to execute the map updating method according to any one of the first aspect.
It is understood that the beneficial effects of the second aspect to the fifth aspect can be referred to the related description of the first aspect, and are not described herein again.
Compared with the prior art, the embodiment of the application has the advantages that: the method comprises the steps of firstly obtaining each first key frame collected by a robot, then processing each first key frame based on each first key frame and each second key frame of an initial map stored in the robot in advance to obtain an optimized key frame of each first key frame, and finally updating the initial map based on the optimized key frames to obtain an updated initial map; according to the method and the device, the first key frames and the second key frames in the initial map are adopted to process the first key frames together, and compared with the prior art that the first key frames are optimized only by using the first key frames or the second key frames in the initial map, the first key frames are optimized only by using the second key frames in the initial map, the obtained optimized first key frames can be more accurate, and the purpose of updating the initial map more accurately is achieved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a schematic application scenario diagram of a map updating method according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a map updating method according to an embodiment of the present application;
FIG. 3 is a schematic diagram illustrating a graph optimization algorithm with a loopback edge according to an embodiment of the present application;
FIG. 4 is a flowchart illustrating a method for obtaining an optimized key frame according to an embodiment of the present application;
fig. 5 is a flowchart illustrating a method for obtaining a first constraint relation according to an embodiment of the present application;
fig. 6 is a flowchart illustrating a method for obtaining a second constraint relation according to an embodiment of the present application;
FIG. 7 is a diagram illustrating a constraint relationship corresponding to a first key frame according to an embodiment of the present application;
FIG. 8 is a schematic structural diagram of a robot provided in an embodiment of the present application;
fig. 9 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in the specification of this application and the appended claims, the term "if" may be interpreted contextually as "when … …" or "upon" or "in response to a determination" or "in response to a detection". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.
Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.
At present, most methods for updating an initial map prestored in a robot compare a key frame acquired by the robot during movement with a key frame in the initial map, and if the acquired key frame does not exist in the initial map, the acquired key frame is directly stored in the initial map, so that the purpose of updating the initial map is achieved. However, the key frames acquired by the robot may be inaccurate, especially, errors exist in the position information of the robot when the key frames are acquired, and if the key frames and the corresponding position information are directly stored in the initial map, the initial map may be inaccurate, and further, the position of the robot located according to the updated initial map may be inaccurate when the robot executes a task.
Fig. 1 is a schematic view of an application scenario of a map updating method according to an embodiment of the present application, where the map updating method may be used to update an initial map in a robot. The robot comprises radar equipment 10 and a processor 20, wherein the radar equipment 10 is used for collecting first key frames in the moving process of the robot, and the processor 20 is used for acquiring each first key frame from the radar equipment 10 and optimizing the first key frames based on each first key frame and second key frames of an initial map stored in the robot in advance to obtain the optimized key frames of each first key frame. The processor 20 is also configured to update the initial map based on the optimization keyframe.
The method for updating a map according to the embodiment of the present application is described in detail below with reference to fig. 1.
Fig. 2 shows a schematic flow chart of an update method of a map provided by the present application, and referring to fig. 2, the method is described in detail as follows:
s101, acquiring each first key frame collected when the robot moves.
In this embodiment, the robot may include a processor, a radar device, or an image acquisition device. The radar equipment collects surrounding environment data through the environment around the scanning robot, and the surrounding environment data collected by the radar equipment form a key frame which is recorded as a first key frame in the application. The radar device may include a laser radar, or a device provided with a laser sensor, and accordingly, the first key frame may be point cloud data collected by the radar device. The image capturing device may be a camera or a camcorder, and accordingly, the first key frame may be image data captured by the image capturing device.
Specifically, the robot may collect the first keyframe according to a preset moving distance when moving, for example, one first keyframe is collected every 1 meter of movement of the robot.
Optionally, the first key frame may be obtained by screening a plurality of data frames acquired by the robot during the movement process.
S102, processing each first key frame based on each first key frame and each second key frame of the initial map stored by the robot to obtain an optimized key frame of each first key frame.
In the present embodiment, an initial map is stored in the robot, and the initial map is constructed based on the environment in which the robot is located at that time when the robot is constructed. The initial map is constructed using a map optimization algorithm.
Specifically, when synchronous positioning and mapping (simultaneous localization and mapping-SLAM) is used, the built map may be inaccurate due to the existence of errors. Therefore, a graph optimization algorithm is introduced, and the established map can be more accurate through the graph optimization algorithm. Specifically, after the robot travels for a period of time, the robot may return to a point that the robot traveled before, but due to the existence of errors, the obtained bit resources of the robot at the same point are different, and therefore, the bit resources of the robot at each point need to be optimized, and the errors are distributed to the bit resources at each point.
By way of example, each circle in fig. 3 represents a respective node, each node representing the position of the robot at that position, an edge between two nodes being represented by an inter-frame edge, the inter-frame edge representing a spatial constraint between two nodes, i.e. a relative position between two nodes. The graph optimization algorithm finds an optimal configuration, i.e., an optimal bit resource for each node, so that the error is minimized. If the starting point of the robot is X1 and the position data of the robot at the starting point is (0, 0), after a period of walking, the robot moves to the position of X6, X6 and X1 are the same position, namely X6 is the starting point position, a loop edge is formed between X6 and X1, and the loop edge is represented by (0, 0). The bit resource of the robot at the starting point should be (0, 0), but due to the existence of the error, the collected bit resource of the robot at X6 becomes (2, 3), and the error value of the robot in the walking process is (2, 3). The error values (2, 3) can be distributed to the inter-frame edges like an average through a graph optimization algorithm, so that the error is minimum, and the optimized bit resources corresponding to each node robot are obtained.
In this embodiment, the processing of each first key frame may be to optimize the bit resource of the robot corresponding to each first key frame.
S103, updating the initial map based on the optimization key frame to obtain the updated initial map.
In this embodiment, the updating of the initial map may be to store the information corresponding to the optimization key frame into the initial map. That is, the data of the first key frame and the bit resources obtained after the first key frame is optimized are stored in the initial map together, so as to achieve the purpose of updating the initial map. Optionally, each first key frame may be added to the initial map, then the bit resources corresponding to each first key frame are optimized, and the optimized bit resources of each first key frame are stored in the initial map, so as to achieve the purpose of updating the initial map.
In the embodiment of the application, first each first key frame collected by a robot is obtained, then each first key frame is processed based on each first key frame and each second key frame of an initial map stored in the robot in advance to obtain an optimized key frame of each first key frame, and finally the initial map is updated based on the optimized key frames to obtain an updated initial map; according to the method and the device, the first key frames and the second key frames in the initial map are adopted to process the first key frames together, and compared with the prior art that the first key frames are optimized only by using the first key frames or the second key frames in the initial map, the first key frames are optimized only by using the second key frames in the initial map, the obtained optimized first key frames can be more accurate, and the purpose of updating the initial map more accurately is achieved.
As shown in fig. 4, in a possible implementation manner, the implementation process of step S102 may include:
s1021, obtaining a first constraint relation between the ith first key frame and the (i + 1) th first key frame, wherein i is more than or equal to 1 and less than or equal to n-1, and n is the number of the first key frames.
In this embodiment, a first constraint relationship between two acquired adjacent first keyframes needs to be obtained.
In this embodiment, the first constraint relationship may be a difference between two adjacent first keyframes. Optionally, the first constraint relationship may be a constraint relationship between positions where the robot collects two adjacent first key frames, a constraint relationship between position resources, or a constraint relationship between variances corresponding to the two adjacent first key frames.
By way of example, if 3 first keyframes are acquired, a first constraint relationship between the 1 st first keyframe and the 2 nd first keyframe may be calculated. A first constraint relationship between the 2 nd first keyframe and the 3 rd first keyframe is computed.
S1022, obtaining matching scores of the first key frames and the second key frames.
In this embodiment, the match score characterizes the degree of match between two key frames. Specifically, a first keyframe may be mapped onto an initial map, and the degree of similarity between the data at the first keyframe and the data at the second keyframe calculated. Alternatively, a correlation scan matching method may be used to determine a matching score between the first keyframe and the second keyframe.
And S1023, calculating a second constraint relation between a first key frame corresponding to the matching score in the preset range and a second key frame of which the matching score is in the preset range.
In this embodiment, the preset range may be set as desired, for example, 4-5, 5-6, 7-8, etc. Specifically, the selection of the preset range can satisfy: the matching score of one first key frame and only one second key frame is within a preset range. The second key frame having the matching score with the first key frame within the preset range may be the second key frame closest to the first key frame on the preset map.
In this embodiment, the second constraint relationship is similar to the first constraint relationship, and the explanation of the first constraint relationship may be referred to, which is not repeated herein.
Specifically, after the matching score is obtained, the matching score within a preset range may be screened out. And the first key frames corresponding to the matching scores in the preset range have second key frames matched with the first key frames. If a plurality of different second key frames are matched with the same first key frame, the second key frame with high matching score can be used as the second key frame matched with the first key frame, and a second constraint relation between the second key frame with high matching score and the first key frame is calculated.
For example, if the matching score of the 3 rd second key frame and the 1 st first key frame is within a preset range, the matching score of the 4 th second key frame and the 1 st first key frame is within a preset range, and the matching score of the 3 rd second key frame and the 1 st first key frame is greater than the matching score of the 4 th second key frame and the 1 st first key frame, the 3 rd second key frame may be taken as the second key frame matched with the 1 st first key frame.
Specifically, the implementation process of step S1023 may include:
and S10231, obtaining a first key frame and a second key frame corresponding to the matching scores in a preset range.
In this embodiment, if the matching score is within the preset range, it can be shown that the first keyframe and the second keyframe corresponding to the matching score within the preset range are matched, that is, the difference between the two keyframes is not large. It can be shown that the scene corresponding to the data in the first key frame is not much different from the scene corresponding to the data in the second key frame, which is acquired by the robot when the initial map is constructed and matches with the first key frame.
If the first key frame cannot find a second key frame matched with the first key frame, it is indicated that a scene corresponding to the data in the first key frame has a larger change compared with a scene at the position when the robot constructs the initial map.
S10232, calculating a second constraint relation between a third key frame and a fourth key frame, wherein the third key frame is a first key frame corresponding to the matching score in a preset range, and the fourth key frame is a second key frame with the matching score of the first key frame in the preset range.
In this embodiment, after obtaining the first key frame and the second key frame corresponding to the matching score satisfying the preset range, the constraint relationship between the two key frames may be calculated, which is denoted as a second constraint relationship in this application. According to the method and the device, the constraint relation is established between the first key frame and the second key frame with the matching scores in the preset range, the first key frame can be optimized through the established constraint relation, the first key frame can be further constrained by the initial map in the optimization process, and the difference between the optimized first key frame and the second key frame in the initial map can be reduced.
S1024, processing each first key frame based on the first constraint relation and the second constraint relation to obtain an optimized key frame of each first key frame.
In this embodiment, each first key frame is optimized by using the plurality of first constraint relationships and the plurality of second constraint relationships, so as to obtain an optimized key frame of each first key frame.
In the embodiment of the application, the optimized first key frame can be more accurate and has smaller error through the first constraint relation between the ith first key frame and the (i + 1) th first key frame and the second constraint relation between the first key frame corresponding to the matching score in the preset range and the second key frame corresponding to the matching score of the first key frame in the preset range. The optimized first key frame not only meets the relation between the first key frames, but also meets the relation between the first key frames and the second key frames.
As shown in fig. 5, in one possible implementation manner, the implementation procedure of step S1021 may include:
s10211, acquiring a first bit resource of the robot when the ith first key frame is acquired.
In this embodiment, the robot corresponds to one bit resource when acquiring each first keyframe, which is denoted as the first bit resource in this application. The first order asset represents the position and posture of the robot when the first keyframe is collected.
S10212, obtaining a second bit resource of the robot when the (i + 1) th first key frame is collected.
S10213, obtaining the first constraint relation based on the first bit of data and the second bit of data.
In this embodiment, the first constraint relationship may be a relative bit of the second bit with respect to the first bit, or a relative bit of the first bit with respect to the second bit. The relative position data represents the difference between the two poses of the robot.
In the embodiment of the application, the constraint relation between two adjacent first key frames can be established through the difference of bit resources when the robot collects the two adjacent first key frames, so that the constraint relation can be established more conveniently, and simultaneously, support is provided for the optimization of the first key frames by subsequently adopting a graph optimization algorithm.
As shown in fig. 6, in a possible implementation manner, the implementation process of step S10232 may further include:
s102321, obtaining third resources of the robot when the third key frame is collected.
S102322, obtaining a fourth data of the robot when a fourth key frame is collected.
S102323, obtaining the second constraint relation based on the third and fourth bits.
In this embodiment, the obtaining method of the second constraint relationship is similar to the obtaining method of the first constraint relationship, and reference may be specifically made to the above explanation of step S10213, which is not repeated herein.
In the embodiment of the application, a constraint relation between the third key frame and the fourth key frame can be established by calculating a difference between the third bit corresponding to the third key frame and the fourth bit corresponding to the fourth key frame, and support can be provided for subsequently adopting a graph optimization algorithm to optimize the first key frame.
In a possible implementation manner, the implementation process of step S103 may further include:
and S1031, processing the first constraint relation and the second constraint relation by adopting a graph optimization algorithm to obtain the optimized bit resources corresponding to each first key frame.
In this embodiment, after obtaining a first constraint relationship between two adjacent first key frames and a second constraint relationship between the first key frame and the second key frame corresponding to the matching score meeting the preset range, the bit resources of each first key frame may be optimized by using a graph optimization algorithm and the constraint relationship corresponding to each first key frame, so as to obtain the optimized bit resources corresponding to each first key frame.
In this embodiment, even if there is a second constraint relationship that the first key frame does not have, the first key frame may obtain the optimized first key frame according to the adjacent optimized first key frame.
By way of example, as shown in FIG. 7, if A1, A2, A3, A4, and A5 are 5 second keyframes, respectively, B1, B2, B3, B4, and B5 are 5 first keyframes, respectively. The matching score of the first key frame B1 and the second key frame A1 is within a predetermined range, then the 1 st second constraint relationship between the first key frame B1 and the second key frame A1 can be established. If the matching score of the first key frame B2 and the second key frame A2 is within the predetermined range, a2 nd second constraint relationship can be established between the first key frame B2 and the second key frame A2. The matching score of the first key frame B4 and the second key frame A4 is within a predetermined range, then A3 rd second constraint relationship can be established between the first key frame B4 and the second key frame A4. The matching score of the first key frame B5 and the second key frame A5 is within a predetermined range, then a4 th second constraint relationship can be established between the first key frame B5 and the second key frame A5.
A1 st first constraint relationship may be established between first keyframe B1 and first keyframe B2. A2 nd first constraint relationship may be established between first keyframe B2 and first keyframe B3. A3 rd first constraint relationship may be established between first keyframe B3 and first keyframe B4. A4 th first constraint relationship may be established between first keyframe B4 and first keyframe B5.
Then the constraints of first keyframe B1 include the 1 st first constraint relationship and the 1 st second constraint relationship. By analogy, the constraints of the first keyframe B5 include a4 th first constraint relationship and a4 th second constraint relationship. And optimizing the bit resources of each first key frame by utilizing a graph optimization algorithm and the constraint relation corresponding to each first key frame. Even though first key frame B3 does not establish a second constrained relationship with the second key frame, first key frame B3 may optimize first key frame B3 based on optimized first key frame B2 and optimized first key frame B4.
S1032, based on the optimization bit resource, obtaining the optimization key frame of each first key frame.
In this embodiment, the optimization key frame includes the first key frame and the corresponding optimization bits.
In the embodiment of the application, more accurate bit resources corresponding to each first key frame can be obtained by adopting a graph optimization algorithm. Meanwhile, the bit resources of each first key frame are optimized simultaneously by adopting the first constraint relation and the second constraint relation, and the bit resources are optimized by using the two constraint relations, so that more accurate bit resources can be obtained.
In a possible implementation manner, the implementation process of step S103 may include:
and S1031, selecting the optimized key frames meeting a second preset condition from the optimized key frames.
In this embodiment, after the optimized key frames are obtained, all the optimized key frames may not be inserted into the initial map, and the optimized key frames that satisfy the second preset condition may be selected from the optimized key frames.
Specifically, if there are multiple optimization key frames that are closer together, several of the multiple optimization key frames that are closer together may be removed.
In a possible implementation manner, the implementation procedure of step S1031 may include:
arranging the optimized key frames according to the sequence of acquisition time from first to last to obtain a key frame sequence; and selecting a preset number of optimized key frames from the tail position of the key frame sequence as the optimized key frames meeting the second preset condition.
In this embodiment, the optimization key frames of the first key frames of the preset number, which are collected most recently, may be selected from the optimization key frames to reduce the number of the optimization key frames.
S1032, obtaining the updated initial map based on the optimized key frame meeting the second preset condition.
In this embodiment, the optimized keyframes meeting the second preset condition are stored in the initial map to obtain the updated initial map.
In the embodiment of the application, the number of the optimized key frames inserted into the initial map can be reduced by screening the optimized key frames, the data processing amount is reduced, the data processing speed is improved, and the phenomenon of data redundancy when the initial map is updated is avoided.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Fig. 8 shows a block diagram of a robot according to an embodiment of the present application, which corresponds to the map updating method described in the above embodiment, and only the parts related to the embodiment of the present application are shown for convenience of description.
Referring to fig. 8, the robot 200 may include: a data obtaining module 210, a data processing module 220, and a map updating module 230.
The data obtaining module 210 is configured to obtain each first keyframe acquired by the robot when the robot moves;
a data processing module 220, configured to process each first key frame based on each first key frame and each second key frame of the initial map stored by the robot, to obtain an optimized key frame of each first key frame;
a map updating module 230, configured to update the initial map based on the optimization key frame, so as to obtain the updated initial map.
In a possible implementation manner, the data processing module 220 may specifically include:
the first computing unit is used for obtaining a first constraint relation between the ith first key frame and the (i + 1) th first key frame, wherein i is more than or equal to 1 and less than or equal to n-1, and n is the number of the first key frames;
the second calculating unit is used for obtaining the matching scores of the first key frames and the second key frames;
the third calculating unit is used for calculating a second constraint relation between a first key frame corresponding to the matching score in a preset range and a second key frame of which the matching score with the first key frame is in the preset range;
and the optimization unit is used for processing each first key frame based on the first constraint relation and the second constraint relation to obtain an optimized key frame of each first key frame.
In a possible implementation manner, the first computing unit may specifically be configured to:
acquiring first capital resources of the robot when the ith first key frame is acquired;
acquiring second bit resources of the robot when the (i + 1) th first key frame is acquired;
and obtaining the first constraint relation based on the first bit of resources and the second bit of resources.
In a possible implementation manner, the third computing unit may specifically be configured to:
obtaining a first key frame and a second key frame corresponding to the matching scores in a preset range;
and calculating a second constraint relation between a third key frame and a fourth key frame, wherein the third key frame is a first key frame corresponding to the matching score in a preset range, and the fourth key frame is a second key frame corresponding to the matching score of the first key frame in the preset range.
In a possible implementation manner, the third computing unit may be further specifically configured to:
acquiring third resources of the robot when the third key frame is acquired;
acquiring a fourth data of the robot when a fourth key frame is acquired;
and obtaining the second constraint relation based on the third and fourth bits.
In a possible implementation manner, the optimization unit may be further specifically configured to:
processing the first constraint relation and the second constraint relation by adopting a graph optimization algorithm to obtain an optimized bit resource corresponding to each first key frame;
and obtaining the optimized key frame of each first key frame based on the optimized bit resources.
In a possible implementation manner, the map updating module 230 may be further specifically configured to:
selecting an optimization key frame meeting a second preset condition from the optimization key frames;
and obtaining the updated initial map based on the optimized key frame meeting the second preset condition.
In a possible implementation manner, the map updating module 230 may be further specifically configured to:
arranging the optimized key frames according to the sequence of acquisition time from first to last to obtain a key frame sequence;
and selecting a preset number of optimized key frames from the tail position of the key frame sequence as the optimized key frames meeting the second preset condition.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/units, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and specific reference may be made to the part of the embodiment of the method, which is not described herein again.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
An embodiment of the present application further provides a terminal device, and referring to fig. 9, the robot 400 may include: at least one processor 410, a memory 420, and a computer program stored in the memory 420 and executable on the at least one processor 410, wherein the processor 410 when executing the computer program implements the steps of any of the method embodiments described above, such as the steps S101 to S103 in the embodiment shown in fig. 2. Alternatively, the processor 410, when executing the computer program, implements the functions of the modules/units in the above-described device embodiments, such as the functions of the modules 210 to 230 shown in fig. 8.
Illustratively, a computer program may be partitioned into one or more modules/units, which are stored in the memory 420 and executed by the processor 410 to accomplish the present application. The one or more modules/units may be a series of computer program segments capable of performing specific functions, which are used to describe the execution of the computer program in the robot 400.
Those skilled in the art will appreciate that fig. 9 is merely an example of a terminal device and is not limiting and may include more or fewer components than shown, or some components may be combined, or different components such as input output devices, network access devices, buses, etc.
The Processor 410 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 420 may be an internal storage unit of the terminal device, or may be an external storage device of the terminal device, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like. The memory 420 is used for storing the computer programs and other programs and data required by the terminal device. The memory 420 may also be used to temporarily store data that has been output or is to be output.
The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, the buses in the figures of the present application are not limited to only one bus or one type of bus.
The map updating method provided by the embodiment of the application can be applied to terminal devices such as computers, tablet computers, notebook computers, netbooks and Personal Digital Assistants (PDAs), and the embodiment of the application does not limit the specific types of the terminal devices.
The embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements the steps in the embodiments of the map updating method described above.
The embodiment of the application provides a computer program product, and when the computer program product runs on a mobile terminal, the steps in each embodiment of the map updating method can be realized when the mobile terminal executes the computer program product.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be 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 solution of the embodiment.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A map updating method, comprising:
acquiring each first key frame collected when the robot moves;
processing each first key frame based on each first key frame and each second key frame of the initial map stored by the robot to obtain an optimized key frame of each first key frame;
and updating the initial map based on the optimization key frame to obtain the updated initial map.
2. The method for updating the map according to claim 1, wherein the processing the respective first keyframes based on the respective first keyframes and respective second keyframes of the initial map stored by the robot to obtain optimized keyframes of the respective first keyframes includes:
obtaining a first constraint relation between the ith first key frame and the (i + 1) th first key frame, wherein i is more than or equal to 1 and less than or equal to n-1, and n is the number of the first key frames;
obtaining matching scores of the first key frames and the second key frames;
calculating a second constraint relation between a first key frame corresponding to the matching score in a preset range and a second key frame of which the matching score with the first key frame is in the preset range;
and processing each first key frame based on the first constraint relation and the second constraint relation to obtain an optimized key frame of each first key frame.
3. The map updating method of claim 2, wherein the obtaining a first constraint relationship between the ith first key frame and the (i + 1) th first key frame comprises:
acquiring first capital resources of the robot when the ith first key frame is acquired;
acquiring second bit resources of the robot when the (i + 1) th first key frame is acquired;
and obtaining the first constraint relation based on the first bit of resources and the second bit of resources.
4. The map updating method according to claim 2, wherein the calculating of the second constraint relationship between the first keyframe corresponding to the matching score within the preset range and the second keyframe corresponding to the matching score of the first keyframe within the preset range includes:
obtaining a first key frame and a second key frame corresponding to the matching scores in a preset range;
and calculating a second constraint relation between a third key frame and a fourth key frame, wherein the third key frame is a first key frame corresponding to the matching score in a preset range, and the fourth key frame is a second key frame corresponding to the matching score of the first key frame in the preset range.
5. The map updating method according to claim 4, wherein the calculating of the second constraint relationship between the third key frame and the fourth key frame includes:
acquiring third resources of the robot when the third key frame is acquired;
acquiring a fourth data of the robot when a fourth key frame is acquired;
and obtaining the second constraint relation based on the third and fourth bits.
6. The map updating method of claim 2, wherein the processing each first keyframe based on the each first keyframe and each second keyframe of the initial map stored by the robot to obtain an optimized keyframe of the each first keyframe comprises:
processing the first constraint relation and the second constraint relation by adopting a graph optimization algorithm to obtain an optimized bit resource corresponding to each first key frame;
and obtaining the optimized key frame of each first key frame based on the optimized bit resources.
7. The method for updating a map according to any one of claims 1 to 6, wherein the updating the initial map based on the optimization keyframe to obtain an updated initial map comprises:
selecting an optimization key frame meeting a second preset condition from the optimization key frames;
and obtaining the updated initial map based on the optimized key frame meeting the second preset condition.
8. The map updating method according to claim 7, wherein the selecting, from the optimization key frames, an optimization key frame that satisfies a second preset condition includes:
arranging the optimized key frames according to the sequence of acquisition time from first to last to obtain a key frame sequence;
and selecting a preset number of optimized key frames from the tail position of the key frame sequence as the optimized key frames meeting the second preset condition.
9. A robot comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the method of updating a map according to any one of claims 1 to 8 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, implements the method of updating a map according to any one of claims 1 to 8.
CN202110873422.XA 2021-07-30 2021-07-30 Map updating method, robot and readable storage medium Pending CN113624222A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110873422.XA CN113624222A (en) 2021-07-30 2021-07-30 Map updating method, robot and readable storage medium
PCT/CN2021/126735 WO2023005021A1 (en) 2021-07-30 2021-10-27 Map updating method, robot, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110873422.XA CN113624222A (en) 2021-07-30 2021-07-30 Map updating method, robot and readable storage medium

Publications (1)

Publication Number Publication Date
CN113624222A true CN113624222A (en) 2021-11-09

Family

ID=78381870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110873422.XA Pending CN113624222A (en) 2021-07-30 2021-07-30 Map updating method, robot and readable storage medium

Country Status (2)

Country Link
CN (1) CN113624222A (en)
WO (1) WO2023005021A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111024100A (en) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 Navigation map updating method and device, readable storage medium and robot
CN111445526A (en) * 2020-04-22 2020-07-24 清华大学 Estimation method and estimation device for pose between image frames and storage medium
CN112068154A (en) * 2020-09-14 2020-12-11 中科院软件研究所南京软件技术研究院 Laser mapping positioning method and device, storage medium and electronic equipment
CN112086010A (en) * 2020-09-03 2020-12-15 中国第一汽车股份有限公司 Map generation method, map generation device, map generation equipment and storage medium
CN112100298A (en) * 2020-08-17 2020-12-18 深圳市优必选科技股份有限公司 Drawing establishing method and device, computer readable storage medium and robot
CN112198878A (en) * 2020-09-30 2021-01-08 深圳市银星智能科技股份有限公司 Instant map construction method and device, robot and storage medium
CN112380312A (en) * 2020-11-30 2021-02-19 重庆智行者信息科技有限公司 Laser map updating method based on grid detection, terminal and computer equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102169283B1 (en) * 2019-12-30 2020-10-23 (주)원익로보틱스 Method of updating map using autonomous robot and system implementing the same
CN112099509A (en) * 2020-09-24 2020-12-18 杭州海康机器人技术有限公司 Map optimization method and device and robot
CN112595323A (en) * 2020-12-08 2021-04-02 深圳市优必选科技股份有限公司 Robot and drawing establishing method and device thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111024100A (en) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 Navigation map updating method and device, readable storage medium and robot
CN111445526A (en) * 2020-04-22 2020-07-24 清华大学 Estimation method and estimation device for pose between image frames and storage medium
CN112100298A (en) * 2020-08-17 2020-12-18 深圳市优必选科技股份有限公司 Drawing establishing method and device, computer readable storage medium and robot
CN112086010A (en) * 2020-09-03 2020-12-15 中国第一汽车股份有限公司 Map generation method, map generation device, map generation equipment and storage medium
CN112068154A (en) * 2020-09-14 2020-12-11 中科院软件研究所南京软件技术研究院 Laser mapping positioning method and device, storage medium and electronic equipment
CN112198878A (en) * 2020-09-30 2021-01-08 深圳市银星智能科技股份有限公司 Instant map construction method and device, robot and storage medium
CN112380312A (en) * 2020-11-30 2021-02-19 重庆智行者信息科技有限公司 Laser map updating method based on grid detection, terminal and computer equipment

Also Published As

Publication number Publication date
WO2023005021A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
CN111079570B (en) Human body key point identification method and device and electronic equipment
CN111709975B (en) Multi-target tracking method, device, electronic equipment and storage medium
CN112561080B (en) Sample screening method, sample screening device and terminal equipment
CN112198878B (en) Instant map construction method and device, robot and storage medium
CN109711530B (en) Landslide prediction method and system
CN110335313B (en) Audio acquisition equipment positioning method and device and speaker identification method and system
CN111027412B (en) Human body key point identification method and device and electronic equipment
CN110379017B (en) Scene construction method and device, electronic equipment and storage medium
CN110909664A (en) Human body key point identification method and device and electronic equipment
CN110969100A (en) Human body key point identification method and device and electronic equipment
CN112097772B (en) Robot and map construction method and device thereof
CN111950517A (en) Target detection method, model training method, electronic device and storage medium
CN113624222A (en) Map updating method, robot and readable storage medium
CN113420604B (en) Multi-person posture estimation method and device and electronic equipment
CN116309628A (en) Lane line recognition method and device, electronic equipment and computer readable storage medium
CN115406452A (en) Real-time positioning and mapping method, device and terminal equipment
CN113721240A (en) Target association method and device, electronic equipment and storage medium
CN115280374A (en) Labeling method and device
CN114881908B (en) Abnormal pixel identification method, device and equipment and computer storage medium
CN117495916B (en) Multi-target track association method, device, communication equipment and storage medium
CN115221981B (en) Target tracking method and device, terminal equipment and storage medium
US11127140B2 (en) Background identification for videos with large foreground objects
CN109788431B (en) Bluetooth positioning method, device, equipment and system based on adjacent node group
CN109831737B (en) Bluetooth positioning method, device, equipment and system based on confidence degree
CN115512194A (en) Image target detection method and device and terminal equipment

Legal Events

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