WO2023005021A1 - 一种地图的更新方法、机器人及可读存储介质 - Google Patents

一种地图的更新方法、机器人及可读存储介质 Download PDF

Info

Publication number
WO2023005021A1
WO2023005021A1 PCT/CN2021/126735 CN2021126735W WO2023005021A1 WO 2023005021 A1 WO2023005021 A1 WO 2023005021A1 CN 2021126735 W CN2021126735 W CN 2021126735W WO 2023005021 A1 WO2023005021 A1 WO 2023005021A1
Authority
WO
WIPO (PCT)
Prior art keywords
key frame
key
optimized
robot
constraint relationship
Prior art date
Application number
PCT/CN2021/126735
Other languages
English (en)
French (fr)
Inventor
谷雨隆
张思民
赵云
Original Assignee
深圳市优必选科技股份有限公司
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 深圳市优必选科技股份有限公司 filed Critical 深圳市优必选科技股份有限公司
Publication of WO2023005021A1 publication Critical patent/WO2023005021A1/zh

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

Definitions

  • the present application belongs to the technical field of robots, and in particular relates to a map updating method, a robot and a readable storage medium.
  • robots are applied in more and more scenarios, such as restaurants and shopping malls.
  • the robot senses the surrounding environment through laser light, and locates its own position according to the map, so as to avoid collisions with obstacles.
  • objects often move in complex scenes, such as shopping malls, restaurants, etc., causing deviations between the actual scene and the scene saved in the map.
  • the scene changes if the robot still locates itself according to the scene in the map, the positioning will be inaccurate. Therefore, when the scene changes, updating the map in the robot in time can avoid the above problems.
  • the embodiment of the present application provides a method for updating a map, a robot and a readable storage medium, which can solve the problem of inaccurate positioning of the robot because the map in the robot is not updated when the scene changes.
  • the embodiment of the present application provides a method for updating a map, including:
  • the initial map is updated based on the optimized key frame to obtain the updated initial map.
  • the embodiment of the present application provides a robot, including:
  • a data acquisition module configured to obtain each first key frame collected by the robot while moving
  • a data processing module 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 optimization key for each first key frame frame;
  • a map updating module configured to update the initial map based on the optimized key frame to obtain the updated initial map.
  • an embodiment of the present application provides a terminal device, including: a memory, a processor, and a computer program stored in the memory and operable on the processor, wherein the processor executes The computer program implements the map updating method described in any one of the above first aspects.
  • an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and it is characterized in that, when the computer program is executed by a processor, any of the above-mentioned first aspects can be implemented.
  • An update method for the described map is characterized in that, when the computer program is executed by a processor, any of the above-mentioned first aspects can be implemented.
  • an embodiment of the present application provides a computer program product, which, when the computer program product is run on a terminal device, causes the terminal device to execute the map update method described in any one of the above first aspects.
  • the beneficial effect of the embodiment of the present application compared with the prior art is that the present application first obtains each first key frame collected by the robot, and then based on each first key frame and each second key frame pre-stored in the initial map in the robot Each first key frame is processed to obtain the optimized key frame of each first key frame, and finally the initial map is updated based on the optimized key frame to obtain an updated initial map; the application uses each first key frame and the initial map Each second key frame jointly processes each first key frame.
  • only each first key frame is used to optimize each first key frame, or only the second key frame in the initial map is used to optimize each first key frame. frame, the present application can make the optimized first key frame more accurate, and then achieve a more accurate goal of updating the initial map.
  • FIG. 1 is a schematic diagram of an application scenario of a method for updating a map provided by an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a method for updating a map provided by an embodiment of the present application
  • FIG. 3 is a schematic illustration of a graph optimization algorithm with loop edges provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of a method for obtaining an optimized key frame provided by an embodiment of the present application
  • FIG. 5 is a schematic flowchart of a method for obtaining a first constraint relationship provided by an embodiment of the present application
  • FIG. 6 is a schematic flowchart of a method for obtaining a second constraint relationship provided by an embodiment of the present application
  • Fig. 7 is a schematic diagram illustrating the constraint relationship corresponding to the first key frame provided by an embodiment of the present application.
  • Fig. 8 is a schematic structural diagram of a robot provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • the term “if” may be construed depending on the context as “when” or “once” or “in response to determining” or “in response to detecting” .
  • the phrase “if determined” or “if [the described condition or event] is detected” may be construed, depending on the context, to mean “once determined” or “in response to the determination” or “once detected [the described condition or event] ]” or “in response to detection of [described condition or event]”.
  • references to "one embodiment” or “some embodiments” or the like in the specification of the present application 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.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically stated otherwise.
  • the terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless specifically stated otherwise.
  • the method of updating the initial map pre-stored in the robot is mostly to compare the key frames collected by the robot when it is moving with the key frames in the initial map. If there is no key frame collected in the initial map, the The collected key frames are directly stored in the initial map, so as to achieve the purpose of updating the initial map.
  • the key frames collected by the robot may be inaccurate, especially when there is an error in the position data of the robot when collecting the key frames. If the key frames and corresponding position data are directly stored in the initial map, the initial map will be inaccurate, and then When the robot is performing tasks, its own position based on the updated initial map is not accurate.
  • FIG. 1 is a schematic diagram of an application scenario of a map update method provided by an embodiment of the present application.
  • the above map update method can be used to update an initial map in a robot.
  • the robot includes a radar device 10 and a processor 20, the radar device 10 is used to collect the first key frame during the movement of the robot, and the processor 20 is used to obtain each first key frame from the radar device 10, and based on each first key frame A key frame and a second key frame of the initial map pre-stored in the robot optimize the first key frame to obtain optimized key frames of each first key frame.
  • the processor 20 is also configured to update the initial map based on the optimized keyframe.
  • Fig. 2 shows the schematic flowchart of the updating method of the map that the application provides, with reference to Fig. 2, the method is described in detail as follows:
  • the robot may include a processor, a radar device or an image acquisition device.
  • the radar device collects surrounding environment data by scanning the environment around the robot, and the surrounding environment data collected by the radar device constitutes a key frame, which is recorded as the first key frame in this application.
  • the radar device may include a laser radar, or a device provided with a laser sensor, and correspondingly, the first key frame may be point cloud data collected by the radar device.
  • the image acquisition device may be a camera or a video camera, etc.
  • the first key frame may be image data collected by the image acquisition device.
  • the first key frame may be collected according to a preset moving distance, for example, a first key frame is collected every time the robot moves 1 meter.
  • the first key frame may also be obtained by filtering the data frames after the robot collects multiple data frames during the moving process.
  • S102 Process the respective first key frames based on the respective first key frames and the respective second key frames of the initial map stored by the robot, to obtain optimized key frames of the respective first key frames.
  • an initial map is stored in the robot, and the initial map is constructed based on the environment where the robot is at that time when the robot constructs the map.
  • the initial map is constructed using a graph optimization algorithm.
  • simultaneous localization and mapping-SLAM Simultaneous localization and mapping-SLAM
  • the established map may be inaccurate. Therefore, a graph optimization algorithm is introduced to make the established map more accurate.
  • the robot may return to a previous point, but due to the existence of errors, the position of the robot at the same point is not the same. Therefore, it is necessary to calculate the position of the robot at each point.
  • the resources are optimized, and the errors are distributed to the position resources of each point.
  • each circle in Figure 3 represents each node, and each node represents the position of the robot at this position, and the edge between two nodes is represented by an inter-frame edge, which represents the space constraint between two nodes , which is the relative position between two nodes.
  • the graph optimization algorithm is to find an optimal configuration, that is, the optimal position of each node, so that the error is minimized. If the starting position of the robot is X1, and the position of the robot at the starting point is (0, 0), after a period of walking, the robot reaches the position of X6, X6 and X1 are the same position, that is, X6 should be the starting position , a loop edge is formed between X6 and X1, and the loop edge is represented by (0, 0).
  • the position of the robot should be (0, 0), but due to the existence of errors, the collected position of the robot at X6 becomes (2, 3), and the error value of the robot during walking is (2,3).
  • the error value (2, 3) can be evenly distributed to each frame edge, so as to minimize the error, and then obtain the optimized positions corresponding to each node robot.
  • processing each first key frame may be optimizing the position information of the robot corresponding to each first key frame.
  • updating the initial map may be storing information corresponding to the optimized key frame into the initial map. That is, the data of the first key frame and the position information obtained after the optimization of the first key frame are saved together in the initial map, so as to achieve the purpose of updating the initial map.
  • each first key frame can be added to the initial map, and then the position data corresponding to each first key frame can be optimized, and the optimized position data of each first key frame can be saved in the initial map, so as to achieve The purpose of the initial map update.
  • each first key frame collected by the robot is first obtained, and then each first key frame is processed based on each first key frame and each second key frame of the initial map pre-stored in the robot to obtain each first key frame An optimized key frame of a key frame, and finally update the initial map based on the optimized key frame to obtain an updated initial map;
  • this application uses each first key frame and each second key frame in the initial map to jointly update each first key frame
  • the present application can make the obtained optimized first key frame A key frame is more accurate, thereby achieving a more accurate goal of updating the initial map.
  • step S102 may include:
  • the first constraint relationship may be a difference between two adjacent first key frames.
  • the first constraint relationship may be the constraint relationship between the positions of the robot when collecting two adjacent first key frames, the constraint relationship of position information, or the variance between the respective variances corresponding to the two adjacent first key frames. binding relationship.
  • the first constraint relationship between the first first key frame and the second first key frame may be calculated. Calculate the first constraint relationship between the second first keyframe and the third first keyframe.
  • the matching score represents the degree of matching between two key frames.
  • the first key frame may be mapped to the initial map, and the degree of similarity between the data in the first key frame and the data in the second key frame may be calculated.
  • a correlation scanning matching method may be used to determine the matching score between the first key frame and the second key frame.
  • the preset range can be set as required, for example, 4-5, 5-6, or 7-8. Specifically, the selection of the preset range can meet the following requirements: the matching score between a first key frame and only one second key frame at most is within the preset range.
  • the second key frame whose matching score with the first key frame is within a preset range may be the second key frame closest to the first key frame on the preset map.
  • the explanation of the second constraint relationship is similar to that of the first constraint relationship, and reference may be made to the explanation of the first constraint relationship, which will not be repeated here.
  • matching scores within a preset range may be filtered out.
  • the first keyframe corresponding to the matching score within the preset range has a matching second keyframe. If there are multiple different second keyframes that match the same first keyframe, the second keyframe with a higher matching score can be used as the second keyframe that matches the first keyframe, and the calculation of the second keyframe with the highest matching score The second constraint relationship between the second keyframe of and the first keyframe.
  • the third second key frame can be frame as the second keyframe that matches the 1st first keyframe.
  • step S1023 may include:
  • the matching score is within the preset range
  • the first key frame and the second key frame corresponding to the matching score within the preset range match, that is, the difference between the two key frames is not large .
  • 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 that matches the first key frame collected by the robot when building the initial map.
  • the first key frame cannot find a matching second key frame, it means that the scene corresponding to the data in the first key frame has changed greatly compared with the scene at the position when the robot builds the initial map.
  • the constraint relationship between the above two key frames can be calculated, which is recorded as the second constraint relationship in this application .
  • the first key frame can be optimized through the above-mentioned constraint relationship established, so that the first key frame can also be affected by the optimization process.
  • the constraints of the initial map can reduce the gap between the optimized first keyframe and the second keyframe in the initial map.
  • each first key frame is optimized by using multiple first constraint relationships and multiple second constraint relationships to obtain optimized key frames for each first key frame.
  • the optimized first key frame not only satisfies the relationship between the first key frames, but also satisfies the relationship between the first key frame and the second key frame.
  • step S1021 may include:
  • the robot when the robot collects each first key frame, it corresponds to a bit, which is recorded as the first bit in this application.
  • the first disposition characterizes the position and posture of the robot when collecting the first key frame.
  • the first constraint relationship may be a relative position of the second position with respect to the first position, or a relative position of the first position with respect to the second position.
  • the relative position characterizes the difference when the robot is in two poses.
  • the constraint relationship between two adjacent first key frames can be established by using the robot to collect the difference in the positions of the two adjacent first key frames, which can make the establishment of the constraint relationship easier, and at the same time Provide support for the subsequent optimization of the first key frame using the graph optimization algorithm.
  • step S10232 may also include:
  • the method for obtaining the second constraint relationship is similar to the method for obtaining the first constraint relationship.
  • step S10213 the method for obtaining the second constraint relationship
  • the constraint relationship between the third key frame and the fourth key frame can be established.
  • step S103 may also include:
  • the graph optimization algorithm can be used to optimize the positions of each first key frame by using the constraint relationship corresponding to each first key frame, so as to obtain the optimized position corresponding to each first key frame.
  • the first key frame can be optimized according to the adjacent optimized first key frame.
  • A1, A2, A3, A4 and A5 are 5 second key frames respectively
  • B1, B2, B3, B4 and B5 are 5 first key frames respectively.
  • a first second constraint relationship may be established between the first key frame B1 and the second key frame A1.
  • a second second constraint relationship may be established between the first key frame B2 and the second key frame A2.
  • a third second constraint relationship may be established between the first key frame B4 and the second key frame A4. If the matching score between the first key frame B5 and the second key frame A5 is within a preset range, a fourth second constraint relationship may be established between the first key frame B5 and the second key frame A5.
  • a first first constraint relationship may be established between the first key frame B1 and the first key frame B2.
  • a second first constraint relationship may be established between the first key frame B2 and the first key frame B3.
  • a third first constraint relationship may be established between the first key frame B3 and the first key frame B4.
  • a fourth first constraint relationship may be established between the first key frame B4 and the first key frame B5.
  • the constraints of the first key frame B1 include the first first constraint relationship and the first second constraint relationship.
  • the constraints of the first key frame B5 include the fourth first constraint relationship and the fourth second constraint relationship.
  • the positions of each first key frame can be optimized by using the graph optimization algorithm and the constraint relationship corresponding to each first key frame. Even if the first key frame B3 does not establish a second constraint relationship with the second key frame, the first key frame B3 can also optimize the first key frame B3 according to the optimized first key frame B2 and the optimized first key frame B4 .
  • the optimization key frame includes a first key frame and corresponding optimization bits.
  • more accurate positions corresponding to each first key frame can be obtained by using a graph optimization algorithm.
  • the present application uses the first constraint relationship and the second constraint relationship to optimize the positions of each first key frame at the same time. Using the two constraints to optimize the positions can also obtain more accurate positions.
  • step S103 may include:
  • all the optimized key frames may not be inserted into the initial map, and the optimized key frames satisfying the second preset condition may be selected among the optimized key frames.
  • step S1031 may include:
  • the optimized key frames of the preset number of first key frames acquired most recently may be selected from the optimized key frames, so as to reduce the number of optimized key frames.
  • the optimized key frames satisfying the second preset condition are stored in the initial map to obtain an updated initial map.
  • the number of optimized key frames inserted into the initial map can be reduced, the amount of data processing can be reduced, the speed of data processing can be improved, and data redundancy can be avoided when the initial map is updated. Phenomenon.
  • FIG. 8 shows a structural block diagram of the robot provided by the embodiment of the present application. For convenience of description, only the parts related to the embodiment of the present application are shown.
  • 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 used to obtain each first key frame collected when the robot is moving;
  • the data processing module 220 is 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 optimization of each first key frame Keyframe;
  • the map update module 230 is configured to update the initial map based on the optimized key frame to obtain the updated initial map.
  • the data processing module 220 may specifically include:
  • the first calculation unit is used to obtain the first constraint relationship between the i-th first key frame and the i+1-th first key frame, where 1 ⁇ i ⁇ n-1, n is the value of the first key frame number;
  • a second calculation unit configured to obtain matching scores between the respective first key frames and the respective second key frames
  • a third calculation unit configured to calculate a second constraint relationship between a first key frame corresponding to a matching score within a preset range and a second key frame whose matching score with the first key frame is within a preset range ;
  • An optimization unit configured to process each first key frame based on the first constraint relationship and the second constraint relationship, to obtain an optimized key frame for each first key frame.
  • the first calculation unit may specifically be used for:
  • the first constraint relationship is obtained.
  • the third calculation unit may specifically be used for:
  • the third calculation unit may also be specifically used for:
  • the optimization unit may also specifically be used for:
  • the optimized key frames of the respective first key frames are obtained.
  • map update module 230 may also specifically be used for:
  • the updated initial map is obtained based on the optimized key frames satisfying the second preset condition.
  • map update module 230 may also specifically be used for:
  • a preset number of optimized key frames is selected as the optimized key frames satisfying the second preset condition.
  • the robot 400 may include: at least one processor 410, a memory 420, and an computer program, the processor 410 implements the steps in any of the above method embodiments when executing the computer program, for example, step S101 to step S103 in the embodiment shown in FIG. 2 .
  • the processor 410 executes the computer program, it realizes the functions of the modules/units in the above-mentioned device embodiments, for example, the functions of the modules 210 to 230 shown in FIG. 8 .
  • the computer program can be divided into one or more modules/units, and one or more modules/units are stored in the memory 420 and executed by the processor 410 to complete the present application.
  • the one or more modules/units may be a series of computer program segments capable of accomplishing specific functions, and the program segments are used to describe the execution process of the computer program in the robot 400 .
  • FIG. 9 is only an example of a terminal device, and does not constitute a limitation to the terminal device. It may include more or less components than those shown in the figure, or combine certain components, or different components, such as Input and output devices, network access devices, buses, etc.
  • the processor 410 can be a central processing unit (Central Processing Unit, CPU), and can also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, 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 can be an internal storage unit of the terminal device, or an external storage device of the terminal device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash memory card (Flash Card) etc.
  • the memory 420 is used to store the computer program and other programs and data required by the terminal device.
  • the memory 420 can also be used to temporarily store data that has been output or will be output.
  • the bus can be an Industry Standard Architecture (Industry Standard Architecture, ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus, etc.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into address bus, data bus, control bus and so on.
  • the buses in the drawings of the present application are not limited to only one bus or one type of bus.
  • the map update method provided by the embodiment of the present application can be applied to terminal devices such as computers, tablet computers, notebook computers, netbooks, and personal digital assistants (PDA). limit.
  • terminal devices such as computers, tablet computers, notebook computers, netbooks, and personal digital assistants (PDA). limit.
  • the embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in each embodiment of the method for updating the above-mentioned map can be realized. .
  • An embodiment of the present application provides a computer program product.
  • the mobile terminal can implement the steps in each embodiment of the method for updating a map as described above.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • all or part of the processes in the methods of the above embodiments in the present application can be completed by instructing related hardware through computer programs, and the computer programs can be stored in a computer-readable storage medium.
  • the computer program When executed by a processor, the steps in the above-mentioned various method embodiments can be realized.
  • the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form.
  • the computer-readable medium may at least include: any entity or device capable of carrying computer program codes to the photographing device/terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium.
  • ROM read-only memory
  • RAM random access memory
  • electrical carrier signal telecommunication signal and software distribution medium.
  • U disk mobile hard disk
  • magnetic disk or optical disk etc.
  • computer readable media may not be electrical carrier signals and telecommunication signals under legislation and patent practice.
  • the disclosed device/network device and method may be implemented in other ways.
  • the device/network device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

Landscapes

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

Abstract

提供了一种地图的更新方法、机器人及计算机可读存储介质,适用于机器人技术领域。该方法包括:获得机器人在移动时采集的各个第一关键帧(S101);基于各个第一关键帧和机器人存储的初始地图的各个第二关键帧对该各个第一关键帧进行处理,得到各个第一关键帧的优化关键帧(S102);基于优化关键帧对初始地图进行更新,得到更新后的初始地图(S103)。该方法采用各个第一关键帧和初始地图中的各个第二关键帧共同对各个第一关键帧进行处理,可以使得到的优化后的第一关键帧更准确,进而达到对初始地图更新的更准确的目的。

Description

一种地图的更新方法、机器人及可读存储介质
本申请要求于2021年07月30日在中国专利局提交的、申请号为202110873422.X的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于机器人技术领域,尤其涉及一种地图的更新方法、机器人及可读存储介质。
背景技术
随着机器人的发展,机器人在越来越多的场景中的得到应用,例如,餐厅、商场等。
机器人中设有地图,机器人在行走时通过激光感知周围环境,并根据地图定位自身的位置,从而避免与障碍物发生碰撞。但是在复杂场景中常常会有物品发生移动,例如,商场、餐厅等,造成实际场景与地图中保存的场景出现偏差。在场景发生变化时,如果机器人依然按照地图中的场景定位自身位置,则会造成定位不准确。因此,在场景发生变化时,及时更新机器人中的地图可以避免上述问题的出现。
技术问题
本申请实施例提供了一种地图的更新方法、机器人及可读存储介质,可以解决在场景发生变化时,由于机器人中的地图没有更新造成机器人定位不准确的问题。
技术解决方案
第一方面,本申请实施例提供了一种地图的更新方法,包括:
获得机器人在移动时采集的各个第一关键帧;
基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧;
基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图。
第二方面,本申请实施例提供了一种机器人,包括:
数据获得模块,用于获得机器人在移动时采集的各个第一关键帧;
数据处理模块,用于基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧;
地图更新模块,用于基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的地图的更新方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面中任 一项所述的地图的更新方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的地图的更新方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
有益效果
本申请实施例与现有技术相比存在的有益效果是:本申请首先获得机器人采集的各个第一关键帧,然后基于各个第一关键帧和预先存储在机器人中初始地图的各个第二关键帧对各个第一关键帧进行处理,得到各个第一关键帧的优化关键帧,最后基于优化关键帧对初始地图进行更新得到更新后的初始地图;本申请采用各个第一关键帧和初始地图中的各个第二关键帧共同对各个第一关键帧进行处理,相对于现有技术仅使用各个第一关键帧优化各个第一关键帧,或者仅使用初始地图中的第二关键帧优化各个第一关键帧,本申请可以使得到的优化后的第一关键帧更准确,进而达到对初始地图更新的更准确的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的地图的更新方法的应用场景示意图;
图2是本申请一实施例提供的地图的更新方法的流程示意图;
图3是本申请一实施例提供的具有回环边的图优化算法的说明示意图;
图4是本申请一实施例提供的优化关键帧的获得方法的流程示意图;
图5是本申请一实施例提供的第一约束关系的获得方法的流程示意图;
图6是本申请一实施例提供的第二约束关系的获得方法的流程示意图;
图7是本申请一实施例提供的第一关键帧对应的约束关系的说明示意图;
图8是本申请一实施例提供的机器人的结构示意图;
图9是本申请一实施例提供的终端设备的结构示意图。
本发明的实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当……时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
目前,对预存在机器人中的初始地图进行更新的方法多是将机器人在移动时采集到的关键帧与初始地图中的关键帧进行比较,如果初始地图中不存在采集到的关键帧,则将采集到的关键帧直接存入初始地图,进而达到对初始地图更新的目的。但是,机器人采集到的关键帧可能不准确,尤其是采集关键帧时机器人的位资存在误差,如果直接将关键帧和对应的位资存入初始地图中则会导致初始地图不准确,进而导致机器人在执行任务时根据更新后的初始地图定位的自己的位置不准确。
图1为本申请实施例提供的地图的更新方法的应用场景示意图,上述地图的更新方法可以用于对机器人中的初始地图进行更新。其中,机器人中包括雷达设备10和处理器20,雷达设备10用于在机器人移动过程中采集第一关键帧,处理器20用于从雷达设备10中获取各个第一关键帧,并基于各个第一关键帧和预先存储在机器人中初始地图的第二关键帧对第一关键帧进行优化,得到各个第一关键帧的优化关键帧。处理器20还用于基于优化关键帧对初始地图进行更新。
以下结合图1对本申请实施例的地图的更新方法进行详细说明。
图2示出了本申请提供的地图的更新方法的示意性流程图,参照图2,对该方法的详 述如下:
S101,获得机器人在移动时采集的各个第一关键帧。
在本实施例中,机器人可以包括处理器、雷达设备或图像采集设备。雷达设备通过扫描机器人周围的环境采集周围环境数据,雷达设备采集的周围环境数据组成关键帧,本申请中记为第一关键帧。雷达设备可以包括激光雷达,或者设有激光传感器的设备,相应的,第一关键帧可以是雷达设备采集的点云数据。图像采集设备可以是照相机或摄像机等,相应的,第一关键帧可以是图像采集设备采集的图像数据。
具体的,机器人在移动时可以按照预设移动距离采集第一关键帧,例如,机器人每移动1米采集一个第一关键帧。
可选的,第一关键帧还可以是机器人在移动过程中采集多个数据帧之后,从数据帧中筛选得到的。
S102,基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧。
在本实施例中,机器人中存储有初始地图,初始地图是在机器人建图时基于当时机器人所处的环境构建的。初始地图是采用图优化算法进行构建的。
具体的,在使用同步定位与建图(simultaneous localization and mapping-SLAM)时由于误差的存在,可能导致建立的地图不准确。因此,引入图优化算法,通过图优化算法可以使建立的地图更准确。具体的,机器人在行走一段时间后,可能会回到之前走过的一个点,但是由于误差的存在,得到的机器人在同一点的位资并不相同,因此,需要对机器人在各个点的位资进行优化,将误差分配到各个点的位资上。
作为举例,图3中各个圆圈表示各个节点,各个节点表征机器人的在该位置时的位资,两个节点之间的边用帧间边表示,帧间边表征两个节点之间的空间约束,也就是两个节点间的相对位资。图优化算法则是找到一个最优的配置,也就是各个节点最优的位资,使得误差最小。如果机器人的起点位置为X1,且机器人在起点的位资是(0,0),经过一段时间的行走后,机器人走到了X6的位置,X6和X1为同一位置,也就是X6应该是起点位置,X6和X1之间形成了回环边,回环边用(0,0)表示。在该起点时机器人的位资应该是(0,0),但是由于误差的存在,采集到的机器人在X6的位资变成了(2,3),则机器人在行走过程中的误差值为(2,3)。通过图优化算法可以将误差值(2,3)类似平均的分配到各个帧间边中,以使得误差最小,进而得到各个节点机器人对应的优化后的位资。
在本实施例中,对各个第一关键帧进行处理,可以是对各个第一关键帧对应的机器人的位资进行优化。
S103,基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图。
在本实施例中,对初始地图进行更新可以是将优化关键帧对应的信息存入到初始地图中。也就是,将第一关键帧的数据和第一关键帧优化后得到的位资共同保存至初始地图中,达到对初始地图更新的目的。可选的,可以将各个第一关键帧加入到初始地图中,然后对各个第一关键帧对应的位资进行优化,将各个第一关键帧优化后的位资保存在初始地图中,达到对初始地图更新的目的。
本申请实施例中,首先获得机器人采集的各个第一关键帧,然后基于各个第一关键帧和预先存储在机器人中初始地图的各个第二关键帧对各个第一关键帧进行处理,得到各个第一关键帧的优化关键帧,最后基于优化关键帧对初始地图进行更新得到更新后的初始地图;本申请采用各个第一关键帧和初始地图中的各个第二关键帧共同对各个第一关键帧进行处理,相对于现有技术仅使用各个第一关键帧优化各个第一关键帧,或者仅使用初始地图中的第二关键帧优化各个第一关键帧,本申请可以使得到的优化后的第一关键帧更准确,进而达到对初始地图更新的更准确的目的。
如图4所示,在一种可能的实现方式中,步骤S102的实现过程可以包括:
S1021,获得第i个第一关键帧和第i+1个第一关键帧之间的第一约束关系,其中,1≤i≤n-1,n为第一关键帧的个数。
在本实施例中,需要获得采集的相邻两个第一关键帧之间的第一约束关系。
在本实施例中,第一约束关系可以是相邻两个第一关键帧之间的差别。可选的,第一约束关系可以是机器人采集相邻两个第一关键帧时所在位置之间的约束关系、位资的约束关系或相邻两个第一关键帧分别对应的方差之间的约束关系。
作为举例,如果采集到3个第一关键帧,则可以计算第1个第一关键帧和第2个第一关键帧之间的第一约束关系。计算第2个第一关键帧和第3个第一关键帧之间的第一约束关系。
S1022,获得所述各个第一关键帧与所述各个第二关键帧的匹配分数。
在本实施例中,匹配分数表征两个关键帧之间的匹配程度。具体的,可以将第一关键帧映射到初始地图上,计算在第一关键帧的数据与第二关键帧的数据的相似程度。可选的,可以采用相关性扫描匹配方法确定第一关键帧和第二关键帧之间的匹配分数。
S1023,计算在预设范围内的匹配分数对应的第一关键帧和与所述第一关键帧的匹配分数在预设范围内的第二关键帧之间的第二约束关系。
在本实施例中,预设范围可以根据需要进行设置,例如,4-5、5-6或7-8等。具体的,预设范围的选取可以满足:一个第一关键帧最多与唯一一个第二关键帧的匹配分数在预设范围内。与第一关键帧的匹配分数在预设范围内的第二关键帧可以为与第一关键帧在预设地图上距离最近的第二关键帧。
在本实施例中,第二约束关系与第一约束关系的解释相似,可以参考第一约束关系的解释,在此不再赘述。
具体的,在得到匹配分数后,可以筛选出在预设范围内的匹配分数。在预设范围内的匹配分数对应的第一关键帧存在与之匹配的第二关键帧。如果存在多个不同的第二关键帧均与同一第一关键帧相匹配,则可以将匹配分数高的第二关键帧作为与该第一关键帧相匹配的第二关键帧,计算匹配分数高的第二关键帧与该第一关键帧之间的第二约束关系。
作为举例,如果第3个第二关键帧和第1个第一关键帧的匹配分数在预设范围内,第4个第二关键帧和第1个第一关键帧的匹配分数在预设范围内,且第3个第二关键帧与第1个第一关键帧的匹配分数大于第4个第二关键帧与第1个第一关键帧的匹配分数,则可以将第3个第二关键帧作为与第1个第一关键帧相匹配的第二关键帧。
具体的,步骤S1023的实现过程可以包括:
S10231,获得在预设范围内的匹配分数对应的第一关键帧和第二关键帧。
在本实施例中,若匹配分数在预设范围内,则可以说明在预设范围内的匹配分数对应的第一关键帧和第二关键帧相匹配,也就是两个关键帧的差异不大。则可以说明,第一关键帧中数据对应的场景与机器人在构建初始地图时采集的与该第一关键帧相匹配的第二关键帧中数据对应的场景差异不大。
若第一关键帧无法找到与之匹配的第二关键帧,则说明该第一关键帧中数据对应的场景相较于机器人在构建初始地图时该位置的场景变化较大。
S10232,计算第三关键帧和第四关键帧之间的第二约束关系,其中,所述第三关键帧为在预设范围内的匹配分数对应的第一关键帧,所述第四关键帧为与所述第一关键帧的匹配分数在所述预设范围内的第二关键帧。
在本实施例中,得到了满足预设范围的匹配分数对应的第一关键帧和第二关键帧后,可以计算上述两个关键帧之间的约束关系,本申请中记为第二约束关系。本申请通过将匹配分数在预设范围内的第一关键帧和第二关键帧建立约束关系,可以通过建立的上述约束关系优化第一关键帧,使第一关键帧在优化过程中还可以受初始地图的约束,可以减小优化后的第一关键帧与初始地图中的第二关键帧的差距。
S1024,基于所述第一约束关系和所述第二约束关系对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧。
在本实施例中,利用多个第一约束关系和多个第二约束关系对各个第一关键帧进行优化,得到各个第一关键帧的优化关键帧。
本申请实施例中,通过第i个第一关键帧和第i+1个第一关键帧之间的第一约束关系,以及在预设范围内的匹配分数对应的第一关键帧和与所述第一关键帧的匹配分数在预设范 围内的第二关键帧之间的第二约束关系,可以使优化的第一关键帧更准确,误差更小。使得优化后的第一关键帧不仅满足第一关键帧之间的关系,还可以满足第一关键帧和第二关键帧之间的关系。
如图5所示,在一种可能的实现方式中,步骤S1021的实现过程可以包括:
S10211,获得采集所述第i个第一关键帧时所述机器人的第一位资。
在本实施例中,机器人在采集每个第一关键帧时均对应一个位资,本申请中记为第一位资。第一位资表征机器人采集第一关键帧时的位置和姿态。
S10212,获得采集所述第i+1个第一关键帧时所述机器人的第二位资。
S10213,基于所述第一位资和所述第二位资,得到所述第一约束关系。
在本实施例中,第一约束关系可以是第二位资相对于第一位资的相对位资,或第一位资相对于第二位资的相对位资。相对位资表征机器人处于两个姿态时的差异。
本申请实施例中,通过机器人采集相邻两个第一关键帧时的位资的差异,可以建立相邻两个第一关键帧之间的约束关系,可以使约束关系的建立更简便,同时为后续采用图优化算法对第一关键帧的优化提供支持。
如图6所示,在一种可能的实现方式中,步骤S10232的实现过程还可以包括:
S102321,获得采集所述第三关键帧时所述机器人的第三位资。
S102322,获得采集第四关键帧时所述机器人的第四位资。
S102323,基于所述第三位资和所述第四位资,得到所述第二约束关系。
在本实施例中,第二约束关系的获得方法与第一约束关系的获得方法相似,具体可参考上述对步骤S10213的解释,在此不再赘述。
本申请实施例中,通过计算第三关键帧对应的第三位资和第四关键帧对应的第四位资的差异,可以建立第三关键帧和第四关键帧之间的约束关系,可以为后续采用图优化算法对第一关键帧的优化提供支持。
在一种可能的实现方式中,步骤S103的实现过程还可以包括:
S1031,采用图优化算法,对所述第一约束关系和所述第二约束关系进行处理,得到所述各个第一关键帧对应的优化位资。
在本实施例中,在得到相邻两个第一关键帧之间的第一约束关系,以及满足预设范围的匹配分数对应的第一关键帧和第二关键帧之间的第二约束关系后,可以利用图优化算法,利用各个第一关键帧对应的约束关系,将各个第一关键帧的位资进行优化,得到各个第一关键帧对应的优化位资。
在本实施例中,即使存在第一关键帧没有对应的第二约束关系,该第一关键帧也可以根据相邻的优化后的第一关键帧得到优化后的该第一关键帧。
作为举例,如图7所示,如果A1、A2、A3、A4和A5分别为5个第二关键帧,B1、B2、B3、B4和B5分别为5个第一关键帧。第一关键帧B1与第二关键帧A1的匹配分数在预设范围内,则第一关键帧B1与第二关键帧A1之间可以建立第1个第二约束关系。第一关键帧B2与第二关键帧A2的匹配分数在预设范围内,则第一关键帧B2与第二关键帧A2之间可以建立第2个第二约束关系。第一关键帧B4与第二关键帧A4的匹配分数在预设范围内,则第一关键帧B4与第二关键帧A4之间可以建立第3个第二约束关系。第一关键帧B5与第二关键帧A5的匹配分数在预设范围内,则第一关键帧B5与第二关键帧A5之间可以建立第4个第二约束关系。
第一关键帧B1和第一关键帧B2之间可以建立第1个第一约束关系。第一关键帧B2和第一关键帧B3之间可以建立第2个第一约束关系。第一关键帧B3和第一关键帧B4之间可以建立第3个第一约束关系。第一关键帧B4和第一关键帧B5之间可以建立第4个第一约束关系。
则第一关键帧B1的约束包括第1个第一约束关系和第1个第二约束关系。依次类推,第一关键帧B5的约束包括第4个第一约束关系和第4个第二约束关系。利用图优化算法和各个第一关键帧对应的约束关系可以对各个第一关键帧的位资进行优化。即使第一关键帧B3没有与第二关键帧建立第二约束关系,但是第一关键帧B3也可以根据优化后的第一关键帧B2和优化后的第一关键帧B4优化第一关键帧B3。
S1032,基于所述优化位资,得到所述各个第一关键帧的优化关键帧。
在本实施例中,优化关键帧包括第一关键帧和对应的优化位资。
本申请实施例中,采用图优化算法可以得到各个第一关键帧对应的更准确的位资。同时,本申请是采用第一约束关系和第二约束关系同时对各个第一关键帧的位资进行优化的,使用两种约束关系对位资进行优化,也可以得到更准确的位资。
在一种可能的实现方式中,步骤S103的实现过程可以包括:
S1031,从所述优化关键帧中选取满足第二预设条件的优化关键帧。
在本实施例中,在得到优化关键帧后,可以不将所有的优化关键帧均插入初始地图中,可以选取优化关键帧中满足第二预设条件的优化关键帧。
具体的,如果存在距离较近的多个优化关键帧,可以将距离较近的多个优化关键帧中的几个优化关键帧去除。
在一种可能的实现方式中,步骤S1031的实现过程可以包括:
将所述优化关键帧按照采集时间从先到后的顺序进行排列,得到关键帧序列;从所述关键帧序列的尾位置开始,选取预设个数的优化关键帧作为所述满足第二预设条件的优化关键帧。
在本实施例中,可以从优化关键帧中选取最新采集的预设个数的第一关键帧的优化关键帧,以减少优化关键帧的个数。
S1032,基于所述满足第二预设条件的优化关键帧,得到更新后的所述初始地图。
在本实施例中,将满足第二预设条件的优化关键帧存入初始地图中,得到更新后的初始地图。
本申请实施例中,通过对优化关键帧进行筛选可以减少插入初始地图中的优化关键帧的个数,减少数据处理量,提高数据处理速度,避免在对初始地图进行更新时出现数据冗余的现象。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的地图的更新方法,图8示出了本申请实施例提供的机器人的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图8,该机器人200可以包括:数据获得模块210、数据处理模块220和地图更新模块230。
其中,数据获得模块210,用于获得机器人在移动时采集的各个第一关键帧;
数据处理模块220,用于基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧;
地图更新模块230,用于基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图。
在一种可能的实现方式中,数据处理模块220具体可以包括:
第一计算单元,用于获得第i个第一关键帧和第i+1个第一关键帧之间的第一约束关系,其中,1≤i≤n-1,n为第一关键帧的个数;
第二计算单元,用于获得所述各个第一关键帧与所述各个第二关键帧的匹配分数;
第三计算单元,用于计算在预设范围内的匹配分数对应的第一关键帧和与所述第一关键帧的匹配分数在预设范围内的第二关键帧之间的第二约束关系;
优化单元,用于基于所述第一约束关系和所述第二约束关系对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧。
在一种可能的实现方式中,第一计算单元具体可以用于:
获得采集所述第i个第一关键帧时所述机器人的第一位资;
获得采集所述第i+1个第一关键帧时所述机器人的第二位资;
基于所述第一位资和所述第二位资,得到所述第一约束关系。
在一种可能的实现方式中,第三计算单元具体可以用于:
获得在预设范围内的匹配分数对应的第一关键帧和第二关键帧;
计算第三关键帧和第四关键帧之间的第二约束关系,其中,所述第三关键帧为在预设范围内的匹配分数对应的第一关键帧,所述第四关键帧为与所述第一关键帧的匹配分数在所述预设范围内的第二关键帧。
在一种可能的实现方式中,第三计算单元具体还可以用于:
获得采集所述第三关键帧时所述机器人的第三位资;
获得采集第四关键帧时所述机器人的第四位资;
基于所述第三位资和所述第四位资,得到所述第二约束关系。
在一种可能的实现方式中,优化单元具体还可以用于:
采用图优化算法,对所述第一约束关系和所述第二约束关系进行处理,得到所述各个第一关键帧对应的优化位资;
基于所述优化位资,得到所述各个第一关键帧的优化关键帧。
在一种可能的实现方式中,地图更新模块230具体还可以用于:
从所述优化关键帧中选取满足第二预设条件的优化关键帧;
基于所述满足第二预设条件的优化关键帧,得到更新后的所述初始地图。
在一种可能的实现方式中,地图更新模块230具体还可以用于:
将所述优化关键帧按照采集时间从先到后的顺序进行排列,得到关键帧序列;
从所述关键帧序列的尾位置开始,选取预设个数的优化关键帧作为所述满足第二预设条件的优化关键帧。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种终端设备,参见图9,该机器人400可以包括:至少一个 处理器410、存储器420以及存储在所述存储器420中并可在所述至少一个处理器410上运行的计算机程序,所述处理器410执行所述计算机程序时实现上述任意各个方法实施例中的步骤,例如图2所示实施例中的步骤S101至步骤S103。或者,处理器410执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块210至230的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器420中,并由处理器410执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序段,该程序段用于描述计算机程序在机器人400中的执行过程。
本领域技术人员可以理解,图9仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
处理器410可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器420可以是终端设备的内部存储单元,也可以是终端设备的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。所述存储器420用于存储所述计算机程序以及终端设备所需的其他程序和数据。所述存储器420还可以用于暂时地存储已经输出或者将要输出的数据。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例提供的地图的更新方法可以应用于计算机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述地图的更新方法各个实施例中 的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述地图的更新方法各个实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施 例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

  1. 一种地图的更新方法,其特征在于,包括:
    获得机器人在移动时采集的各个第一关键帧;
    基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧;
    基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图。
  2. 如权利要求1所述的地图的更新方法,其特征在于,所述基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧,包括:
    获得第i个第一关键帧和第i+1个第一关键帧之间的第一约束关系,其中,1≤i≤n-1,n为第一关键帧的个数;
    获得所述各个第一关键帧与所述各个第二关键帧的匹配分数;
    计算在预设范围内的匹配分数对应的第一关键帧和与所述第一关键帧的匹配分数在预设范围内的第二关键帧之间的第二约束关系;
    基于所述第一约束关系和所述第二约束关系对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧。
  3. 如权利要求2所述的地图的更新方法,其特征在于,所述获得第i个第一关键帧和第i+1个第一关键帧之间的第一约束关系,包括:
    获得采集所述第i个第一关键帧时所述机器人的第一位资;
    获得采集所述第i+1个第一关键帧时所述机器人的第二位资;
    基于所述第一位资和所述第二位资,得到所述第一约束关系。
  4. 如权利要求2所述的地图的更新方法,其特征在于,所述计算在预设范围内的匹配分数对应的第一关键帧和与所述第一关键帧的匹配分数在预设范围内的第二关键帧之间的第二约束关系,包括:
    获得在预设范围内的匹配分数对应的第一关键帧和第二关键帧;
    计算第三关键帧和第四关键帧之间的第二约束关系,其中,所述第三关键帧为在预设范围内的匹配分数对应的第一关键帧,所述第四关键帧为与所述第一关键帧的匹配分数在所述预设范围内的第二关键帧。
  5. 如权利要求4所述的地图的更新方法,其特征在于,所述计算第三关键帧和第四关键帧之间的第二约束关系,包括:
    获得采集所述第三关键帧时所述机器人的第三位资;
    获得采集第四关键帧时所述机器人的第四位资;
    基于所述第三位资和所述第四位资,得到所述第二约束关系。
  6. 如权利要求2所述的地图的更新方法,其特征在于,所述基于所述各个第一关键帧和所述机器人存储的初始地图的各个第二关键帧对所述各个第一关键帧进行处理,得到所述各个第一关键帧的优化关键帧,包括:
    采用图优化算法,对所述第一约束关系和所述第二约束关系进行处理,得到所述各个第一关键帧对应的优化位资;
    基于所述优化位资,得到所述各个第一关键帧的优化关键帧。
  7. 如权利要求1至6任一项所述的地图的更新方法,其特征在于,所述基于所述优化关键帧对所述初始地图进行更新,得到更新后的所述初始地图,包括:
    从所述优化关键帧中选取满足第二预设条件的优化关键帧;
    基于所述满足第二预设条件的优化关键帧,得到更新后的所述初始地图。
  8. 如权利要求7所述的地图的更新方法,其特征在于,所述从所述优化关键帧中选取满足第二预设条件的优化关键帧,包括:
    将所述优化关键帧按照采集时间从先到后的顺序进行排列,得到关键帧序列;
    从所述关键帧序列的尾位置开始,选取预设个数的优化关键帧作为所述满足第二预设条件的优化关键帧。
  9. 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的地图的更新方法。
  10. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的地图的更新方法。
PCT/CN2021/126735 2021-07-30 2021-10-27 一种地图的更新方法、机器人及可读存储介质 WO2023005021A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110873422.X 2021-07-30
CN202110873422.XA CN113624222A (zh) 2021-07-30 2021-07-30 一种地图的更新方法、机器人及可读存储介质

Publications (1)

Publication Number Publication Date
WO2023005021A1 true WO2023005021A1 (zh) 2023-02-02

Family

ID=78381870

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/126735 WO2023005021A1 (zh) 2021-07-30 2021-10-27 一种地图的更新方法、机器人及可读存储介质

Country Status (2)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111024100A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种导航地图更新方法、装置、可读存储介质及机器人
CN112068154A (zh) * 2020-09-14 2020-12-11 中科院软件研究所南京软件技术研究院 一种激光建图定位方法、装置、存储介质及电子设备
CN112100298A (zh) * 2020-08-17 2020-12-18 深圳市优必选科技股份有限公司 一种建图方法、装置、计算机可读存储介质及机器人
CN112099509A (zh) * 2020-09-24 2020-12-18 杭州海康机器人技术有限公司 地图优化方法、装置及机器人
CN112595323A (zh) * 2020-12-08 2021-04-02 深圳市优必选科技股份有限公司 机器人及其建图方法和装置
WO2021137483A1 (ko) * 2019-12-30 2021-07-08 (주)원익로보틱스 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111445526B (zh) * 2020-04-22 2023-08-04 清华大学 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN112086010B (zh) * 2020-09-03 2022-03-18 中国第一汽车股份有限公司 地图生成方法、装置、设备及存储介质
CN112198878B (zh) * 2020-09-30 2021-09-28 深圳市银星智能科技股份有限公司 一种即时地图构建方法、装置、机器人及存储介质
CN112380312B (zh) * 2020-11-30 2022-08-05 北京智行者科技股份有限公司 基于栅格检测的激光地图更新方法、终端及计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111024100A (zh) * 2019-12-20 2020-04-17 深圳市优必选科技股份有限公司 一种导航地图更新方法、装置、可读存储介质及机器人
WO2021137483A1 (ko) * 2019-12-30 2021-07-08 (주)원익로보틱스 자율주행 로봇을 이용한 지도 업데이트 방법 및 시스템
CN112100298A (zh) * 2020-08-17 2020-12-18 深圳市优必选科技股份有限公司 一种建图方法、装置、计算机可读存储介质及机器人
CN112068154A (zh) * 2020-09-14 2020-12-11 中科院软件研究所南京软件技术研究院 一种激光建图定位方法、装置、存储介质及电子设备
CN112099509A (zh) * 2020-09-24 2020-12-18 杭州海康机器人技术有限公司 地图优化方法、装置及机器人
CN112595323A (zh) * 2020-12-08 2021-04-02 深圳市优必选科技股份有限公司 机器人及其建图方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU DONGYANG: "Research on SLAM Technology of Mobile Robot Based on Multi-Line Lidar", CHINESE DOCTORAL DISSERTATIONS & MASTER'S THESES FULL-TEXT DATABASES (INFORMATION TECHNOLOGY), 1 June 2020 (2020-06-01), pages 1 - 76, XP093028207, DOI: 10.27061/d.cnki.ghgdu.2020.003649 *

Also Published As

Publication number Publication date
CN113624222A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
WO2020073507A1 (zh) 一种文本分类方法及终端
CN111709975B (zh) 多目标跟踪方法、装置、电子设备及存储介质
WO2020186887A1 (zh) 一种连续小样本图像的目标检测方法、装置及设备
WO2021089013A1 (zh) 空间图卷积网络的训练方法、电子设备及存储介质
WO2021139313A1 (zh) 基于元学习的数据筛选模型构建方法、数据筛选方法、装置、计算机设备及存储介质
US10438083B1 (en) Method and system for processing candidate strings generated by an optical character recognition process
WO2022198993A1 (zh) 一种机械臂运动规划方法、装置、可读存储介质及机械臂
JP2020038622A (ja) 車線追跡方法及び装置
CN112085701A (zh) 一种人脸模糊度检测方法、装置、终端设备及存储介质
CN112198878B (zh) 一种即时地图构建方法、装置、机器人及存储介质
WO2024011852A1 (zh) 一种跟踪目标的方法、装置及电子设备
WO2023005021A1 (zh) 一种地图的更新方法、机器人及可读存储介质
CN112097772B (zh) 机器人及其地图构建方法和装置
JP2017091530A (ja) 交通事故の検出方法、交通事故の検出装置及び電子機器
CN113905066B (zh) 物联网的组网方法、物联网的组网装置及电子设备
CN112816959B (zh) 用于车辆的聚类方法、装置、设备和存储介质
CN112633299B (zh) 一种目标检测方法、网络、装置、终端设备及存储介质
CN112989869B (zh) 人脸质量检测模型的优化方法、装置、设备及存储介质
CN112085788A (zh) 回环检测方法、装置、计算机可读存储介质及移动装置
US20220207859A1 (en) Image comparison method and computing device utilizing method
CN111127478A (zh) 一种视图块分割方法及装置
CN115376051B (zh) 关键帧的管理方法及管理装置、slam方法、电子设备
CN117710765A (zh) 目标识别方法、装置、电子设备及计算机可读存储介质
CN115221981B (zh) 一种目标跟踪方法、装置、终端设备及存储介质
CN111325250B (zh) 图像处理方法及相关设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21951593

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE