WO2022252482A1 - Robot, and environment map construction method and apparatus therefor - Google Patents

Robot, and environment map construction method and apparatus therefor Download PDF

Info

Publication number
WO2022252482A1
WO2022252482A1 PCT/CN2021/126706 CN2021126706W WO2022252482A1 WO 2022252482 A1 WO2022252482 A1 WO 2022252482A1 CN 2021126706 W CN2021126706 W CN 2021126706W WO 2022252482 A1 WO2022252482 A1 WO 2022252482A1
Authority
WO
WIPO (PCT)
Prior art keywords
data frame
sensing data
absolute position
robot
library
Prior art date
Application number
PCT/CN2021/126706
Other languages
French (fr)
Chinese (zh)
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 WO2022252482A1 publication Critical patent/WO2022252482A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Definitions

  • the present application belongs to the field of robots, and in particular relates to a method and device for constructing a robot and its environment map.
  • a robot Before a robot performs a task, it usually needs to build a map of the scene where the robot is located. According to the map constructed by the robot, the positioning accuracy can be improved, so that the path ruled by the robot is more reasonable and the navigation is safer.
  • the robot When the robot is building a map, it usually recursively deduces the pose of the subsequent keyframes based on the motion estimation of the robot and the initial pose of the first keyframe of the robot. Due to the accumulation of errors, the poses of subsequent key frames will become larger and larger, which is not conducive to the robot's accurate mapping.
  • the robot In order to reduce the cumulative error of the robot, after the robot acquires a new key frame, it performs similarity detection between the acquired key frame and the previous key frame to determine whether the current position of the robot is consistent with the previous position, that is, to detect the loop point through loop detection .
  • the robot can correct the cumulative error according to the loop detection to improve the accuracy of the map.
  • the robot compares and matches the newly acquired key frame with the previous key frame, if the global matching method is used, the calculation amount is large and the matching time is long. If the local matching is used, the matching may not be successful. probability. If there is repetitive content in the scene where the robot is located, such as similar rooms or warehouses, it is easy to generate wrong loops, which is not conducive to accurate and effective map construction.
  • the embodiment of the present application provides a method and device for constructing a robot and its environment map to solve the problem that the matching efficiency of the loop closure detection is not high, the loop closure detection is prone to errors, or the loop closure cannot be detected when the environment map is constructed in the prior art. Point of question.
  • the first aspect of the embodiments of the present application provides a method for constructing a robot environment map, the method comprising:
  • sensing data frame during the movement of the robot, and obtain the absolute position corresponding to the sensing data frame, and generate a sensing data frame library according to the acquired sensing data frame and absolute position;
  • the robot According to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, search the absolute position matching the current absolute position in the sensing data frame library, and the sensing data corresponding to the matched absolute position frame;
  • the sensor data frame is a key frame.
  • acquiring the sensing data frame during the movement of the robot includes one or more of the following methods:
  • key frames during the movement of the robot are determined.
  • the third possible implementation of the first aspect according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, in Find the absolute position matched by the current absolute position in the sensing data frame library, and the sensing data frame corresponding to the matched absolute position, including:
  • the sensing data frame corresponding to the determined absolute position is searched.
  • the determined sensing data frame is matched with the currently acquired sensing data frame, and according to the matching
  • the result is loopback optimization and environment map construction, including:
  • the trajectory of the robot will be optimized based on the selected sensor data frame and absolute position
  • the environment map is constructed according to the optimized trajectory.
  • obtaining the absolute position corresponding to the sensing data frame includes:
  • the absolute position corresponding to the robot when acquiring the sensing data frame is determined.
  • the current sensing data frame library is searched for When the absolute position matches the absolute position, if the absolute position matching the current absolute position is not found in the sensor data frame library, the currently acquired sensor data frame and the absolute position are added to the Sensory data frame library.
  • the second aspect of the embodiment of the present application provides a robot environment map construction device, the device comprising:
  • the data acquisition unit is used to acquire the sensing data frame during the movement of the robot, and acquire the absolute position corresponding to the sensing data frame, and generate the sensing data frame library according to the acquired sensing data frame and absolute position;
  • the data search unit is used to search the absolute position matched by the current absolute position in the sensing data frame library according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, and the matched absolute position The sensor data frame corresponding to the position;
  • the sensing data frame matching unit is configured to match the searched sensing data frame with the currently acquired sensing data frame, and perform loopback optimization and environment map construction according to the matching result.
  • the third aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and operable on the processor.
  • the processor executes the computer program, it realizes The steps of the method according to any one of the first aspect.
  • the fourth aspect of the embodiments 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 one of the above aspects of the first aspect can be implemented. steps of the method described in the item.
  • the embodiment of the present application has the beneficial effect that: during the movement of the robot, the sensing data frame currently acquired by the robot and its corresponding absolute position are obtained, and according to the absolute position, the pre-acquired sensing data frame Find the corresponding absolute position in the data frame library, match the sensor data frame corresponding to the searched relative position with the currently acquired sensor data frame, and perform loopback optimization and environment map construction according to the matching result.
  • the sensing data frame is filtered by the absolute position, the problem of detecting a wrong loopback point in a similar scene can be avoided, and the sensing data frame is filtered by the absolute position, which can reduce the probability that the matching cannot be completed, which is beneficial to reduce the sensing data frame
  • the amount of matching calculations can improve the construction efficiency of environmental maps.
  • FIG. 1 is a schematic diagram of a robot loopback detection in the prior art provided by an embodiment of the present application
  • Fig. 2 is a schematic diagram of the implementation flow of a robot environment map construction method provided by the embodiment of the present application;
  • Fig. 3 is a schematic diagram of a position correction provided by the embodiment of the present application.
  • Fig. 4 is a schematic diagram of the moving trajectory of an adjusted robot provided in the embodiment of the present application.
  • FIG. 5 is a schematic diagram of an environment map construction device for a robot provided in an embodiment of the present application.
  • Fig. 6 is a schematic diagram of a robot provided by an embodiment of the present application.
  • the robot Before the robot performs the task, it needs to construct the current scene map of the robot, so as to plan the trajectory or route of the task according to the constructed scene map.
  • the robot When a robot constructs a scene map, the robot usually constructs a continuous and consistent scene map around the environment based on the motion estimation of the robot and combined with the collected scene data.
  • the robot When obtaining the motion estimation of the robot, the robot usually fixes the initial position of the first laser frame, and combines the motion information of the robot to determine the pose of each subsequent laser frame.
  • the robot When an error occurs in one of the pose estimations, the robot will add it to the subsequent pose calculation results, which is not conducive to building a globally consistent trajectory and map.
  • the robot can optimize the pose of the robot by means of loop closure detection. For example, the robot compares and matches the currently collected laser frame with the previously collected laser frame, and determines the loopback point of the robot's motion trajectory according to the matched laser frame. The robot adjusts the trajectory of the robot according to the detected loop points, so as to achieve the purpose of reducing the pose estimation error generated by motion estimation.
  • the robot In loop detection, if the scene where the map is built is large, the robot acquires more laser frames. If global matching is used, that is, the current laser frame is matched with each previously stored laser frame, the amount of calculation is large and time-consuming. longer. If partial matching is used, it is necessary to ensure that the cumulative error is within a small range in order to successfully match.
  • the robot starts from point O, and the solid line trajectory in the figure is obtained according to motion estimation, and the dotted line in the figure is the actual trajectory of the robot.
  • the robot When the robot is at the O' position, the robot searches for laser frames that can be matched within the predetermined range of the estimated position through local matching. Since the matching degree between the searched laser frame and the laser frame at position O' is very low, the robot may not be able to match successfully.
  • the embodiment of the present application proposes a robot environment map construction method, by adding absolute position information during the movement of the robot, to establish the absolute position corresponding to the sensing data frame acquired by the robot.
  • the position that can be matched is screened out through the matching and screening of the absolute position, and then the result of the loop detection is determined through the matching of the sensor data frame, thereby improving the accuracy of the loop detection and the accuracy of the map construction. Due to the screening of the absolute position, the mismatching problem of similar scenes can be avoided, and it is beneficial to improve the matching efficiency.
  • FIG. 2 it is a schematic diagram of the implementation process of a robot environment map construction method proposed in the embodiment of the present application, including:
  • the sensing data frame during the moving process of the robot is acquired, and the absolute position corresponding to the sensing data frame is acquired, and a sensing data frame library is generated according to the acquired sensing data frame and absolute position.
  • the sensing data frame in the embodiment of the present application may include information such as scene images, distances between obstacles in the scene and the robot, and poses of the robot.
  • the scene image may be collected by a camera, or may be a laser image collected by a laser radar.
  • the distance between the obstacle in the scene and the robot can be detected by laser radar, or the distance between the obstacle in the scene where the robot is located and the robot can be collected by a binocular camera.
  • the pose information of the robot can be determined by the odometer and IMU (English full name is Inertial Measurement Unit, Chinese full name is inertial measurement unit) of the robot.
  • the absolute position can be determined by the robot in combination with an auxiliary positioning device.
  • a positioning base station may be set in the scene where the robot is located, and a detection signal is sent through the positioning base station.
  • the robot determines the distance between the robot and the positioning base station according to the received positioning signal.
  • the absolute position of the robot is determined according to the determined two or more than three distances and the preset position of the positioning base station.
  • the positioning base station may be a UWB (English full name is Ultra Wideband, Chinese full name is Ultra Wideband) base station.
  • the positioning base station may also be a Bluetooth base station, such as iBeacon positioning based on Bluetooth 4.0, or Wifi positioning based on a Wifi base station.
  • the sensing data frame obtained from the starting position of the robot can be added to the sensing data frame library.
  • the sensing data frame library filters out the absolute position in the sensing data frame library that matches the currently acquired absolute position. If the absolute position matching the currently acquired absolute position cannot be filtered out, or the sensory data frame corresponding to the filtered absolute position cannot match the current sensory data frame, the currently acquired sensory data frame and its corresponding The absolute position of is added to the sensory data frame library. That is, during the moving process of the robot, the data in the sensing data frame library is updated through comparison and matching.
  • the sensing data frame may be a key frame.
  • the key frame is a representative data frame selected from common data frames.
  • the keyframes may be determined according to repetition information between keyframes.
  • the first key frame can be determined according to the starting position.
  • the subsequent key frame it can be determined by determining the similarity between the current data frame and the adjacent previous key frame. For example, it may be determined to generate a new key frame when the similarity is greater than a predetermined key frame similarity constant.
  • whether to generate a new keyframe can be determined based on the distance the robot moves.
  • the first keyframe can be determined according to the starting position.
  • To determine the next key frame it may be determined whether to generate a new key frame according to the moving distance of the robot relative to the position corresponding to the previous key frame. For example, when the moving distance is greater than a predetermined key frame distance constant, a new key frame is generated.
  • whether to generate a new key frame may be determined according to the rotation angle of the robot.
  • the first keyframe can be determined according to the starting position.
  • whether to generate a new key frame can be determined according to whether the rotation angle of the robot is greater than a predetermined key frame angle constant.
  • sensing data image data, distance data, and trajectory data
  • the sensing data can effectively reduce the amount of sensing data collection and comparison calculation, and improve the construction efficiency of the scene map.
  • the absolute position matching the current absolute position is searched in the sensing data frame library, and the matched absolute position corresponds to sensor data frame.
  • n-1 sensing data frames are stored in the sensing data frame library (the value of n changes with the update of the sensing database).
  • the absolute position corresponding to the nth sensing data frame currently collected is obtained, for example, it may be expressed as pn(xn, yn).
  • preliminary screening can be performed according to the matching degree of the absolute position.
  • the absolute position pn(xn, yn) corresponding to the currently acquired sensing data frame can be calculated to match any absolute position pk(xk, yk) in the data sensing frame library, k ⁇ n.
  • the distance T between the absolute position pn and any absolute position pk in the data sensing frame library can be calculated:
  • the absolute distance in the sensing data frame corresponding to the distance T can be selected, and according to the correspondence between the absolute position in the data sensing frame library and the sensing data frame Relationship, find the sensor data frame corresponding to the selected absolute position.
  • the sensor data frame corresponding to the position is obtained.
  • the absolute positioning device of the robot it can be determined that the absolute position of the robot is O'(P'), and according to the preset distance threshold R, the search range corresponding to the dotted circle in Figure 3 can be obtained, and it is determined that the The absolute position in the search range that belongs to the sensory data frame library. For example, it may be determined that the absolute position O is within the search range. According to the absolute position O, find the corresponding sensing data frame.
  • the absolute position in a sensing data frame library is found in the schematic diagram of position correction shown in Fig. 3 .
  • multiple absolute positions can be found within the determined range. According to the found multiple absolute positions, multiple corresponding sensing data frames are determined.
  • the searched sensing data frame is matched with the currently acquired sensing data frame, and loop-closing optimization and environment map construction are performed according to the matching result.
  • one or more sensor data frames can be matched with the currently acquired sensor data frames, that is, the calculated sensor data frames and the currently acquired sensor data frames The similarity of the sense data frame. If the similarity is greater than a predetermined similarity threshold, the sensing data frame and the absolute position are selected to optimize the moving trajectory of the robot. For example, the loopback point of the robot can be determined according to the absolute position, and the attitude information of the robot at the loopback point can be determined according to the sensor data frame. According to the determined loop point and posture information, the moving track of the robot is adjusted, and the posture change information of the robot during the moving process is adjusted. An environment map is constructed from the adjusted trajectory and adjusted pose change information.
  • the absolute position O'(P') of the robot is determined according to the UWB base station set in the scene where the robot is located, and the current absolute position O'(P') of the robot is detected.
  • P') and the absolute position O in the moving track of the robot are the loop-back point, and the attitude of the moving track of the robot is adjusted according to the loop-back point, and the adjusted moving track of the robot shown in FIG. 4 is obtained.
  • the environment map of the scene where the robot is located can be determined more accurately.
  • the application uses absolute distance screening, it can reduce the amount of matching calculations for sensing data frames, and at the same time avoid false detection of loopback points in similar scenes, reducing the probability of failure to match successfully in partial matching.
  • the application can also correct the robot's movement trajectory according to the absolute position detected by the robot, combined with the robot's movement trajectory, so as to further improve the robot map construction the accuracy.
  • FIG. 5 is a schematic diagram of an apparatus for constructing an environment map for a robot provided in an embodiment of the present application, and the apparatus corresponds to the method for constructing an environment map for a robot in FIG. 2 .
  • the device includes:
  • the data acquisition unit 501 is configured to acquire the sensing data frame during the movement of the robot, and acquire the absolute position corresponding to the sensing data frame, and generate a sensing data frame library according to the acquired sensing data frame and absolute position;
  • the data search unit 502 is configured to search the absolute position matched by the current absolute position in the sensing data frame library according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, and the matched absolute position The sensor data frame corresponding to the absolute position;
  • the sensing data frame matching unit 503 is configured to match the searched sensing data frame with the currently acquired sensing data frame, and perform loopback optimization and environment map construction according to the matching result.
  • the sensing data frame may be a key frame.
  • key frames during the movement of the robot are determined.
  • the data acquisition unit may be used for:
  • the sensing data frame corresponding to the determined absolute position is searched.
  • the sensing data frame matching unit may be used for:
  • the trajectory of the robot will be optimized based on the selected sensor data frame and absolute position
  • the environment map is constructed according to the optimized trajectory.
  • the sensor data frame library can be updated in real time, and according to the absolute position corresponding to the sensor data frame currently acquired by the robot and the preset distance threshold, search in the sensor data frame library When the current absolute position matches the absolute position, if the absolute position matching the current absolute position is not found in the sensing data frame library, add the currently acquired sensing data frame and the absolute position to The sensory data frame library.
  • the absolute position in the embodiment of the present application may be determined according to a positioning signal sent by a preset UWB base station.
  • Fig. 6 is a schematic diagram of a robot provided by an embodiment of the present application.
  • the robot 6 of this embodiment includes: a processor 60, a memory 61, and a computer program 62 stored in the memory 61 and operable on the processor 60, such as the environment map construction program of the robot .
  • the processor 60 executes the computer program 62, the steps in the above embodiments of the environment map construction method for each robot are realized.
  • the processor 60 executes the computer program 62, the functions of the modules/units in the above-mentioned device embodiments are implemented.
  • the computer program 62 can be divided into one or more modules/units, and the one or more modules/units are stored in the memory 61 and executed by the processor 60 to complete this application.
  • the one or more modules/units may be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program 62 in the robot 6 .
  • the robot may include, but not limited to, a processor 60 and a memory 61 .
  • a processor 60 and a memory 61 .
  • Fig. 6 is only an example of the robot 6, and does not constitute a limitation to the robot 6, and may include more or less components than shown in the illustration, or combine certain components, or different components, for example
  • the robot may also include input and output devices, network access devices, buses, and the like.
  • the so-called processor 60 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), Field-Programmable Gate Array (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 61 may be an internal storage unit of the robot 6 , such as a hard disk or memory of the robot 6 . Described memory 61 also can be the external storage device of described robot 6, for example the plug-in type hard disk that is equipped on described robot 6, smart memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD) card, Flash card (Flash Card), etc. Further, the memory 61 may also include both an internal storage unit of the robot 6 and an external storage device. The memory 61 is used to store the computer program and other programs and data required by the robot. The memory 61 can also be used to temporarily store data that has been output or will be output.
  • the disclosed apparatus/terminal device and method may be implemented in other ways.
  • the device/terminal 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.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated module/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. Based on this understanding, all or part of the processes in the methods of the above embodiments in this application can also be completed by hardware related to computer program instructions.
  • the computer program 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 include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a removable hard disk, a magnetic disk, an optical disk, a computer memory, and a read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, computer-readable media Excluding electrical carrier signals and telecommunication signals.

Abstract

A robot, and an environment map construction method and apparatus therefor. The method comprises: acquiring a sensing data frame during a moving process of a robot, and an absolute position, and generating a sensing data frame library; according to an absolute position corresponding to a sensing data frame currently acquired by the robot, and a preset distance threshold value, searching the sensing data frame library for an absolute position that matches the current absolute position, and a sensing data frame corresponding to the matching absolute position; and matching the found sensing data frame with the currently acquired sensing data frame, and performing loop closure optimization and environment map construction according to a matching result. A sensing data frame is screened by means of an absolute position, such that the problem of detecting a wrong loop closure point in a similar scenario can be avoided; and the sensing data frame is screened by means of the absolute position, such that the probability of being unable to complete matching can be reduced, thereby facilitating reducing the matching calculation amount of the sensing data frame, and improving the efficiency of environment map construction.

Description

机器人及其环境地图构建方法和装置Method and device for constructing robot and its environment map
本申请要求于2021年05月31日在中国专利局提交的、申请号为202110598469.X的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to a Chinese patent application with application number 202110598469.X filed at the China Patent Office on May 31, 2021, the entire contents of which are incorporated herein by reference.
技术领域technical field
本申请属于机器人领域,尤其涉及一种机器人及其环境地图构建方法和装置。The present application belongs to the field of robots, and in particular relates to a method and device for constructing a robot and its environment map.
背景技术Background technique
机器人在执行任务之前,通常需要构建机器人所在场景的地图进行构建。机器人根据所构建的地图,可以提高定位准确性,从而使得机器人所规则的路径更合理,导航更加安全。机器人在建图时,通常根据机器人的运动估计和机器人第一个关键帧的初始位姿,递推后续关键帧的位姿。由于误差的累计,后续的关键帧的位姿会越来越大,不利于机器人准确的进行建图。Before a robot performs a task, it usually needs to build a map of the scene where the robot is located. According to the map constructed by the robot, the positioning accuracy can be improved, so that the path ruled by the robot is more reasonable and the navigation is safer. When the robot is building a map, it usually recursively deduces the pose of the subsequent keyframes based on the motion estimation of the robot and the initial pose of the first keyframe of the robot. Due to the accumulation of errors, the poses of subsequent key frames will become larger and larger, which is not conducive to the robot's accurate mapping.
为了减少机器人的累计误差,机器人在新获取到关键帧后,将所获取关键帧与之前的关键帧进行相似性检测,判断机器人当前的位置是否与之前的位置相符,即通过回环检测检测回环点。机器人可以根据回环检测对累计误差进行修正,提高建图的准确性。In order to reduce the cumulative error of the robot, after the robot acquires a new key frame, it performs similarity detection between the acquired key frame and the previous key frame to determine whether the current position of the robot is consistent with the previous position, that is, to detect the loop point through loop detection . The robot can correct the cumulative error according to the loop detection to improve the accuracy of the map.
然而,机器人在将新获取的关键帧与之前的关键帧进行比较匹配时,如果采用全局匹配的方式,计算量较大,匹配耗时较长,如果采用局部匹配,可能会出现无法匹配成功的几率。如果机器人所在场景存在重复性内容,比较相似的房间或仓库,则容易产生错误的回环,不利于准确有效的进行地图构建。However, when the robot compares and matches the newly acquired key frame with the previous key frame, if the global matching method is used, the calculation amount is large and the matching time is long. If the local matching is used, the matching may not be successful. probability. If there is repetitive content in the scene where the robot is located, such as similar rooms or warehouses, it is easy to generate wrong loops, which is not conducive to accurate and effective map construction.
技术问题technical problem
有鉴于此,本申请实施例提供了一种机器人及其环境地图构建方法和装置,以解决现有技术中构建环境地图时,回环检测的匹配效率不高、回环检测容易出错或无法检测到回环点的问题。In view of this, the embodiment of the present application provides a method and device for constructing a robot and its environment map to solve the problem that the matching efficiency of the loop closure detection is not high, the loop closure detection is prone to errors, or the loop closure cannot be detected when the environment map is constructed in the prior art. Point of question.
技术解决方案technical solution
本申请实施例的第一方面提供了一种机器人的环境地图构建方法,所述方法包括:The first aspect of the embodiments of the present application provides a method for constructing a robot environment map, the method comprising:
获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库;Obtain the sensing data frame during the movement of the robot, and obtain the absolute position corresponding to the sensing data frame, and generate a sensing data frame library according to the acquired sensing data frame and absolute position;
根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧;According to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, search the absolute position matching the current absolute position in the sensing data frame library, and the sensing data corresponding to the matched absolute position frame;
将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。Match the searched sensor data frame with the currently acquired sensor data frame, and perform loopback optimization and environment map construction according to the matching result.
结合第一方面,在第一方面的第一种可能实现方式中,所述传感数据帧为关键帧。With reference to the first aspect, in a first possible implementation manner of the first aspect, the sensor data frame is a key frame.
结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,获取机器人移动过程中的传感数据帧,包括以下方式中的一项或多项:In combination with the first possible implementation of the first aspect, in the second possible implementation of the first aspect, acquiring the sensing data frame during the movement of the robot includes one or more of the following methods:
根据预先设定的移动距离阈值,确定机器人移动过程中的关键帧;Determine the key frame during the robot's movement according to the preset movement distance threshold;
或者,根据预先设定的旋转角度阈值,确定机器人移动过程中的关键帧;Or, according to the preset rotation angle threshold, determine the key frame during the movement of the robot;
或者,根据预先设定的差异度阈值,确定机器人移动过程中的关键帧。Alternatively, according to a preset difference degree threshold, key frames during the movement of the robot are determined.
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧,包括:In combination with the first aspect or the first possible implementation of the first aspect, in the third possible implementation of the first aspect, according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, in Find the absolute position matched by the current absolute position in the sensing data frame library, and the sensing data frame corresponding to the matched absolute position, including:
计算当前获取的传感数据帧对应的绝对位置与所述传感数据帧库的绝对位置的距离;Calculate the distance between the absolute position corresponding to the currently acquired sensing data frame and the absolute position of the sensing data frame library;
如果所计算的距离小于预设的距离阈值,则确定该距离所对应的传感数据帧库中的绝对位置;If the calculated distance is less than the preset distance threshold, then determine the absolute position in the sensing data frame library corresponding to the distance;
根据传感数据帧库中的绝对位置与传感数据帧的对应关系,查找所确定的绝对位置对应的传感数据帧。According to the corresponding relationship between the absolute position and the sensing data frame in the sensing data frame database, the sensing data frame corresponding to the determined absolute position is searched.
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第四种可能实现方式中,将所确定的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建,包括:In combination with the first aspect or the first possible implementation of the first aspect, in the fourth possible implementation of the first aspect, the determined sensing data frame is matched with the currently acquired sensing data frame, and according to the matching The result is loopback optimization and environment map construction, including:
计算所确定的传感数据帧与当前获取的传感数据帧之间的相似度;calculating the similarity between the determined sensing data frame and the currently acquired sensing data frame;
将所述相似度与预先设定的相似度阈值进行比较,选择相似度大于预定的相似度阈值的、且位于传感数据帧库中的传感数据帧;Comparing the similarity with a preset similarity threshold, selecting a sensing data frame whose similarity is greater than the predetermined similarity threshold and located in the sensing data frame library;
将根据选择的传感数据帧和绝对位置,对机器人移动轨迹进行优化;The trajectory of the robot will be optimized based on the selected sensor data frame and absolute position;
根据优化后的轨迹进行环境地图构建。The environment map is constructed according to the optimized trajectory.
结合第一方面,在第一方面的第五种可能实现方式中,获取所述传感数据帧对应的绝对位置,包括:With reference to the first aspect, in a fifth possible implementation manner of the first aspect, obtaining the absolute position corresponding to the sensing data frame includes:
根据预先设定的UWB基站,确定所述机器人在获取传感数据帧时所对应的绝对位置。According to the preset UWB base station, the absolute position corresponding to the robot when acquiring the sensing data frame is determined.
结合第一方面,在第一方面的第六种可能实现方式中,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置时,如果在所述传感数据帧库中未查找到当前的绝对位置匹配的绝对位置,则将当前获取的所述传感数据帧和所述绝对位置添加至所述传感数据帧库。With reference to the first aspect, in the sixth possible implementation of the first aspect, according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, the current sensing data frame library is searched for When the absolute position matches the absolute position, if the absolute position matching the current absolute position is not found in the sensor data frame library, the currently acquired sensor data frame and the absolute position are added to the Sensory data frame library.
本申请实施例的第二方面提供了一种机器人的环境地图构建装置,所述装置包括:The second aspect of the embodiment of the present application provides a robot environment map construction device, the device comprising:
数据获取单元,用于获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库;The data acquisition unit is used to acquire the sensing data frame during the movement of the robot, and acquire the absolute position corresponding to the sensing data frame, and generate the sensing data frame library according to the acquired sensing data frame and absolute position;
数据查找单元,用于根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧;The data search unit is used to search the absolute position matched by the current absolute position in the sensing data frame library according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, and the matched absolute position The sensor data frame corresponding to the position;
传感数据帧匹配单元,用于将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。The sensing data frame matching unit is configured to match the searched sensing data frame with the currently acquired sensing data frame, and perform loopback optimization and environment map construction according to the matching result.
本申请实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。The third aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and operable on the processor. When the processor executes the computer program, it realizes The steps of the method according to any one of the first aspect.
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。The fourth aspect of the embodiments 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 one of the above aspects of the first aspect can be implemented. steps of the method described in the item.
有益效果Beneficial effect
本申请实施例与现有技术相比存在的有益效果是:在机器人移动过程中,获取机器人当前获取的传感数据帧及其对应的绝对位置,根据所述绝对位置,在预先获取的传感数据帧库中查找相应的绝对位置,根据所查找的相对位置所对应的传感数据帧,与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。由于通过绝对位置筛选传感数据帧,从而可以避免在相似场景中检测出错误回环点的问题,并且通过绝对位置筛选传感数据帧,能够减少无法完成匹配的几率,有利于降低传感数据帧的匹配计算量,提高环境地图的构建效率。Compared with the prior art, the embodiment of the present application has the beneficial effect that: during the movement of the robot, the sensing data frame currently acquired by the robot and its corresponding absolute position are obtained, and according to the absolute position, the pre-acquired sensing data frame Find the corresponding absolute position in the data frame library, match the sensor data frame corresponding to the searched relative position with the currently acquired sensor data frame, and perform loopback optimization and environment map construction according to the matching result. Since the sensing data frame is filtered by the absolute position, the problem of detecting a wrong loopback point in a similar scene can be avoided, and the sensing data frame is filtered by the absolute position, which can reduce the probability that the matching cannot be completed, which is beneficial to reduce the sensing data frame The amount of matching calculations can improve the construction efficiency of environmental maps.
附图说明Description of drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附 图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the accompanying drawings that need to be used in the descriptions of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings in the following description are only for the present application For some embodiments, those of ordinary skill in the art can also obtain other drawings based on these drawings without paying creative efforts.
图1是本申请实施例提供的一种现有技术中的机器人回环检测示意图;FIG. 1 is a schematic diagram of a robot loopback detection in the prior art provided by an embodiment of the present application;
图2是本申请实施例提供的一种机器人的环境地图构建方法的实现流程示意图;Fig. 2 is a schematic diagram of the implementation flow of a robot environment map construction method provided by the embodiment of the present application;
图3是本申请实施例提供的一种位置纠正示示意图;Fig. 3 is a schematic diagram of a position correction provided by the embodiment of the present application;
图4是本申请实施例提供的一种调整后的机器人的移动轨迹示意图;Fig. 4 is a schematic diagram of the moving trajectory of an adjusted robot provided in the embodiment of the present application;
图5是本申请实施例提供的一种机器人的环境地图构建装置的示意图;FIG. 5 is a schematic diagram of an environment map construction device for a robot provided in an embodiment of the present application;
图6是本申请实施例提供的机器人的示意图。Fig. 6 is a schematic diagram of a robot provided by an embodiment of the present application.
本发明的实施方式Embodiments of the present invention
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand 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 without 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.
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。In order to illustrate the technical solutions described in this application, specific examples are used below to illustrate.
机器人在执行任务之前,需要构建机器人当前的场景地图,以便根据所构建的场景地图,规划执行任务的轨迹或路线。Before the robot performs the task, it needs to construct the current scene map of the robot, so as to plan the trajectory or route of the task according to the constructed scene map.
在机器人进行场景地图构建时,机器人通常根据机器人的运动估计,结合所采集的场景数据,构建环境周围连续、一致的场景地图。在获取机器人的运动估计时,机器人通常固定第一个激光帧的初始位置,结合机器人的运动信息,确定后续各个激光帧的位姿。当其中一个位姿估计出现误差时,机器人都会累加到后续的位姿计算结果,不利于构建全局一致的轨迹和地图。When a robot constructs a scene map, the robot usually constructs a continuous and consistent scene map around the environment based on the motion estimation of the robot and combined with the collected scene data. When obtaining the motion estimation of the robot, the robot usually fixes the initial position of the first laser frame, and combines the motion information of the robot to determine the pose of each subsequent laser frame. When an error occurs in one of the pose estimations, the robot will add it to the subsequent pose calculation results, which is not conducive to building a globally consistent trajectory and map.
为了减少运动估计所产生的位姿估计误差,机器人可以采用回环检测的方式,对机器人的位姿进行优化。比如,机器人将当前采集的激光帧与之前采集的激光帧进行比较和匹配,根据匹配的激光帧确定机器人的运动轨迹的回环点。机器人根据所检测到的回环点,对机器人轨迹进行调整,从而达到减少运动估计所产生的位姿估计误差的目的。In order to reduce the pose estimation error generated by motion estimation, the robot can optimize the pose of the robot by means of loop closure detection. For example, the robot compares and matches the currently collected laser frame with the previously collected laser frame, and determines the loopback point of the robot's motion trajectory according to the matched laser frame. The robot adjusts the trajectory of the robot according to the detected loop points, so as to achieve the purpose of reducing the pose estimation error generated by motion estimation.
在回环检测时,如果构建地图的场景较大,机器人获取的激光帧较多,如果采用全局匹配,即将当前的激光帧与之前存储的每个激光帧进行匹配,则计算量较大,耗时较长。如果采用局部匹配,需要保证累计误差在较小范围内才能匹配成功。如图1所示的机器人移动轨迹示意图中,机器人从O点出发,根据运动估计得到图中的实线轨迹,图中的虚线为机器人的实际轨迹。机器人在O’位置时,机器人通过局部匹配的方式,在所估计的位置的预定范围内查找可进行匹配的激光帧。由于所查找的激光帧与位置O’的激光帧的匹配度非常低,机器人可能无法匹配成功。In loop detection, if the scene where the map is built is large, the robot acquires more laser frames. If global matching is used, that is, the current laser frame is matched with each previously stored laser frame, the amount of calculation is large and time-consuming. longer. If partial matching is used, it is necessary to ensure that the cumulative error is within a small range in order to successfully match. In the schematic diagram of the robot movement trajectory shown in Figure 1, the robot starts from point O, and the solid line trajectory in the figure is obtained according to motion estimation, and the dotted line in the figure is the actual trajectory of the robot. When the robot is at the O' position, the robot searches for laser frames that can be matched within the predetermined range of the estimated position through local matching. Since the matching degree between the searched laser frame and the laser frame at position O' is very low, the robot may not be able to match successfully.
如果机器人当前场景中存在多个相似的场景,比如相似的房间或仓库等。摄像头或激光帧可能会存在误匹配情况,使得所构建的地图出现紊乱而无法使用。If there are multiple similar scenes in the current scene of the robot, such as similar rooms or warehouses, etc. Camera or laser frames may have mismatches, rendering the resulting map garbled and unusable.
为了克服上述问题,本申请实施例提出了一种机器人的环境地图构建方法,通过在机器人移动过程中增加绝对位置的信息,建立机器人获取的传感数据帧对应的绝对位置。通过绝对位置的匹配筛选的方式筛选出可进行匹配的位置,然后再进一步通过传感数据帧的匹配,确定回环检测的结果,从而提高回环检测的准确度,提高地图构建的准确性。由于通过绝对位置的筛选,可以避免相似场景的误匹配问题,并且有利于提高匹配效率。In order to overcome the above problems, the embodiment of the present application proposes a robot environment map construction method, by adding absolute position information during the movement of the robot, to establish the absolute position corresponding to the sensing data frame acquired by the robot. The position that can be matched is screened out through the matching and screening of the absolute position, and then the result of the loop detection is determined through the matching of the sensor data frame, thereby improving the accuracy of the loop detection and the accuracy of the map construction. Due to the screening of the absolute position, the mismatching problem of similar scenes can be avoided, and it is beneficial to improve the matching efficiency.
如图2所示为本申请实施例提出的一种机器人的环境地图构建方法的实现流程示意图,包括:As shown in Figure 2, it is a schematic diagram of the implementation process of a robot environment map construction method proposed in the embodiment of the present application, including:
在S201中,获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库。In S201, the sensing data frame during the moving process of the robot is acquired, and the absolute position corresponding to the sensing data frame is acquired, and a sensing data frame library is generated according to the acquired sensing data frame and absolute position.
本申请实施例中的传感数据帧,可以包括场景图像、场景中的障碍物与机器人的距离、机器人的位姿等信息。其中,所述场景图像,可以通过摄像头进行采集,也可以为激光雷达采集得到的激光图像。所述场景中的障碍物与机器人之间的距离,可以通过激光雷达检 测得到,也可以通过双目摄像头,采集得到机器人所在场景中的障碍物与机器人之间的距离。所述机器人的位姿信息,可以通过机器人的里程计和IMU(英文全称为Inertial Measurement Unit,中文全称为惯性测量单元)来确定。The sensing data frame in the embodiment of the present application may include information such as scene images, distances between obstacles in the scene and the robot, and poses of the robot. Wherein, the scene image may be collected by a camera, or may be a laser image collected by a laser radar. The distance between the obstacle in the scene and the robot can be detected by laser radar, or the distance between the obstacle in the scene where the robot is located and the robot can be collected by a binocular camera. The pose information of the robot can be determined by the odometer and IMU (English full name is Inertial Measurement Unit, Chinese full name is inertial measurement unit) of the robot.
所述绝对位置,机器人可以结合辅助定位设备来确定。在可能的实现方式中,可以在机器人所在场景中设置定位基站,通过定位基站发送探测信号。机器人根据所接收到的定位信号,确定机器人与定位基站之间的距离。根据所确定的两个或三个以上的距离,以及预先设定的定位基站的位置,确定机器人的绝对位置。The absolute position can be determined by the robot in combination with an auxiliary positioning device. In a possible implementation manner, a positioning base station may be set in the scene where the robot is located, and a detection signal is sent through the positioning base station. The robot determines the distance between the robot and the positioning base station according to the received positioning signal. The absolute position of the robot is determined according to the determined two or more than three distances and the preset position of the positioning base station.
其中,所述定位基站,可以为UWB(英文全称为Ultra Wideband,中文全称为超宽带)基站。或者,所述定位基站还可以为蓝牙基站,比如基于蓝牙4.0的iBeacon定位,或者基于Wifi基站的Wifi定位等。Wherein, the positioning base station may be a UWB (English full name is Ultra Wideband, Chinese full name is Ultra Wideband) base station. Alternatively, the positioning base station may also be a Bluetooth base station, such as iBeacon positioning based on Bluetooth 4.0, or Wifi positioning based on a Wifi base station.
在获取所述机器人的绝对位置和所述机器人的传感数据帧后,建立所述绝对位置与传感数据帧的对应关系。可便于根据绝对位置快速的确定机器人的传感数据帧。After the absolute position of the robot and the sensing data frame of the robot are acquired, a corresponding relationship between the absolute position and the sensing data frame is established. It is convenient to quickly determine the sensor data frame of the robot according to the absolute position.
在机器人开始移动时,可以将机器人的起点位置所获取的传感数据帧添加至传感数据帧库。在机器人的移动过程中,如果所获取的传感数据帧对应的绝对位置,筛选出传感数据帧库中与当前获取的绝对位置匹配的绝对位置。如果不能筛选出与当前获取的绝对位置匹配的绝对位置,或者筛选出的绝对位置对应的传感数据帧不能与当前的传感数据帧匹配,则可以将当前获取的传感数据帧和其对应的绝对位置添加至传感数据帧库。即在机器人移动过程中,通过比较和匹配,更新所述传感数据帧库中的数据。When the robot starts to move, the sensing data frame obtained from the starting position of the robot can be added to the sensing data frame library. During the movement of the robot, if the acquired sensing data frame corresponds to the absolute position, filter out the absolute position in the sensing data frame library that matches the currently acquired absolute position. If the absolute position matching the currently acquired absolute position cannot be filtered out, or the sensory data frame corresponding to the filtered absolute position cannot match the current sensory data frame, the currently acquired sensory data frame and its corresponding The absolute position of is added to the sensory data frame library. That is, during the moving process of the robot, the data in the sensing data frame library is updated through comparison and matching.
在可能的实现方式中,为了提高场景地图构建的效率,所述传感数据帧可以为关键帧。所述关键帧为普通的数据帧中挑选出的具有代表性意义的数据帧。In a possible implementation manner, in order to improve the efficiency of scene map construction, the sensing data frame may be a key frame. The key frame is a representative data frame selected from common data frames.
在一些实现方式中,可以根据关键帧之间的重复信息来确定所述关键帧。比如,可以根据起始位置确定第一关键帧。确定在后的关键帧时,可以通过确定当前的数据帧与相邻的前一关键帧之间的相似度的大小来确定。比如,可以在相似度大于预定的关键帧相似度常数时,则确定生成新的关键帧。In some implementation manners, the keyframes may be determined according to repetition information between keyframes. For example, the first key frame can be determined according to the starting position. When determining the subsequent key frame, it can be determined by determining the similarity between the current data frame and the adjacent previous key frame. For example, it may be determined to generate a new key frame when the similarity is greater than a predetermined key frame similarity constant.
在一些实现方式中,可以根据机器人移动的距离来确定是否生成新的关键帧。可以根据起始位置确定第一关键帧。确定在后的关键帧,可以根据机器人相对于前一关键帧对应的位置的移动距离,确定是否生成新的关键帧。比如在移动距离大于预定的关键帧距离常数时,则生成新的关键帧。In some implementations, whether to generate a new keyframe can be determined based on the distance the robot moves. The first keyframe can be determined according to the starting position. To determine the next key frame, it may be determined whether to generate a new key frame according to the moving distance of the robot relative to the position corresponding to the previous key frame. For example, when the moving distance is greater than a predetermined key frame distance constant, a new key frame is generated.
在一些实现方式中,可以根据机器人旋转角度来确定是否生成新的关键帧。可以根据起始位置确定第一关键帧。确定在后的关键帧时,可以根据机器人的旋转角度是否大于预定的关键帧角度常数,确定是否生成新的关键帧。In some implementation manners, whether to generate a new key frame may be determined according to the rotation angle of the robot. The first keyframe can be determined according to the starting position. When determining the next key frame, whether to generate a new key frame can be determined according to whether the rotation angle of the robot is greater than a predetermined key frame angle constant.
可以理解的是,上述关键帧的确定方式,可以采用其中一项或者多项。即任意触发条件满足时,则生成新的关键帧。It can be understood that one or more of the above methods for determining the key frame may be used. That is, when any trigger condition is met, a new keyframe is generated.
采用关键帧的方式进行传感数据(图像数据、距离数据和轨迹数据)采集时,可以有效的减少传感数据的采集量和比较计算量,提高场景地图的构建效率。When the sensing data (image data, distance data, and trajectory data) is collected in the way of key frames, it can effectively reduce the amount of sensing data collection and comparison calculation, and improve the construction efficiency of the scene map.
在S202中,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧。In S202, according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, the absolute position matching the current absolute position is searched in the sensing data frame library, and the matched absolute position corresponds to sensor data frame.
假设所述传感数据帧库中存储有n-1个传感数据帧(n的数值随着传感数据库的更新而发生变化)。当前所采集到的第n个传感数据帧,获取第n个传感数据帧所对应的绝对位置,比如可以表示为pn(xn,yn)。在对传感数据帧进行筛选时,可以根据绝对位置的匹配度,进行初步筛选。It is assumed that n-1 sensing data frames are stored in the sensing data frame library (the value of n changes with the update of the sensing database). The absolute position corresponding to the nth sensing data frame currently collected is obtained, for example, it may be expressed as pn(xn, yn). When screening the sensing data frames, preliminary screening can be performed according to the matching degree of the absolute position.
在筛选过程中,可以计算当前获取的传感数据帧对应的绝对位置pn(xn,yn)与数据传感帧库中的任意绝对位置pk(xk,yk)进行匹配,k<n。可以计算绝对位置pn与数据传感帧库中的任意绝对位置pk之间的距离T:In the screening process, the absolute position pn(xn, yn) corresponding to the currently acquired sensing data frame can be calculated to match any absolute position pk(xk, yk) in the data sensing frame library, k<n. The distance T between the absolute position pn and any absolute position pk in the data sensing frame library can be calculated:
T=∪ ksqrt((x s-x k) 2+(y s-y k) 2)≤R(k=1,…,s-1) T=∪ k sqrt((x s -x k ) 2 +(y s -y k ) 2 )≤R(k=1,…,s-1)
当所计算的距离小于预设的距离阈值时,则可选择该距离T所对应的、位于传感数据帧中的绝对距离,并根据数据传感帧库中的绝对位置与传感数据帧的对应关系,查找所选择的绝对位置对应的传感数据帧。When the calculated distance is less than the preset distance threshold, the absolute distance in the sensing data frame corresponding to the distance T can be selected, and according to the correspondence between the absolute position in the data sensing frame library and the sensing data frame Relationship, find the sensor data frame corresponding to the selected absolute position.
如图3所示的位置纠正示意图中,当机器人通过里程计或惯性测量单元检测到机器人的相对位置为O’时,获取到该位置所对应的传感数据帧。此时,根据机器人的绝对定位装置,可以确定机器人的绝对位置为O’(P’),根据预设的距离阈值R,可以得到图3中的虚线圆环对应的搜索范围,确定位于所述搜索范围中的、属于所述传感数据帧库中的绝对位置。比如,可以确定绝对位置O位于所述搜索范围。根据绝对位置O,查找对应的传感数据帧。In the schematic diagram of position correction shown in Figure 3, when the robot detects that the relative position of the robot is O' through the odometer or the inertial measurement unit, the sensor data frame corresponding to the position is obtained. At this time, according to the absolute positioning device of the robot, it can be determined that the absolute position of the robot is O'(P'), and according to the preset distance threshold R, the search range corresponding to the dotted circle in Figure 3 can be obtained, and it is determined that the The absolute position in the search range that belongs to the sensory data frame library. For example, it may be determined that the absolute position O is within the search range. According to the absolute position O, find the corresponding sensing data frame.
图3所示的位置纠正示意图中查找到一个传感数据帧库中的绝对位置。在可能的实现方式中,可以在所确定的范围中查找到多个绝对位置。根据所查找到的多个绝对位置,确定多个对应的传感数据帧。The absolute position in a sensing data frame library is found in the schematic diagram of position correction shown in Fig. 3 . In a possible implementation, multiple absolute positions can be found within the determined range. According to the found multiple absolute positions, multiple corresponding sensing data frames are determined.
在S203中,将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。In S203, the searched sensing data frame is matched with the currently acquired sensing data frame, and loop-closing optimization and environment map construction are performed according to the matching result.
根据绝对位置查找到一个或者多个传感数据帧时,可以将一个或者多个传感数据帧分别与当前获取的传感数据帧进行匹配,即计算查找的传感数据帧与当前获取的传感数据帧的相似度。如果相似度大于预定的相似度阈值,则选择该传感数据帧和绝对位置,对所述机器人移动轨迹进行优化。比如,可以根据绝对位置确定机器人的回环点,根据所述传感数据帧,确定机器人在回环点的姿态信息。根据所确定的回环点和姿态信息,调整机器人的移动轨迹,以及调整机器人在移动过程中的姿态变化信息。根据调整后的轨迹和调整后的姿态变化信息构建环境地图。When one or more sensor data frames are found according to the absolute position, one or more sensor data frames can be matched with the currently acquired sensor data frames, that is, the calculated sensor data frames and the currently acquired sensor data frames The similarity of the sense data frame. If the similarity is greater than a predetermined similarity threshold, the sensing data frame and the absolute position are selected to optimize the moving trajectory of the robot. For example, the loopback point of the robot can be determined according to the absolute position, and the attitude information of the robot at the loopback point can be determined according to the sensor data frame. According to the determined loop point and posture information, the moving track of the robot is adjusted, and the posture change information of the robot during the moving process is adjusted. An environment map is constructed from the adjusted trajectory and adjusted pose change information.
如图4所示的调整后的机器人的移动轨迹示意图中,根据机器人所在场景中设置的UWB基站,确定机器人的绝对位置O’(P’),检测到所述机器人当前的绝对位置O’(P’)与机器人的移动轨迹中的绝对位置O为回环点,根据该回环点调整机器人的移动轨迹的姿态,得到图4所示的调整后的机器人移动轨迹。根据该调整后的移动轨迹和姿态,可以更为准确的确定机器人所在场景的环境地图。并且,由于本申请通过绝对距离的筛选,可以减少传感数据帧的匹配计算量的同时,还可以避免相似场景的回环点的误检测情况,降低局部匹配时无法匹配成功的几率。In the schematic diagram of the adjusted moving trajectory of the robot as shown in Figure 4, the absolute position O'(P') of the robot is determined according to the UWB base station set in the scene where the robot is located, and the current absolute position O'(P') of the robot is detected. P') and the absolute position O in the moving track of the robot are the loop-back point, and the attitude of the moving track of the robot is adjusted according to the loop-back point, and the adjusted moving track of the robot shown in FIG. 4 is obtained. According to the adjusted trajectory and posture, the environment map of the scene where the robot is located can be determined more accurately. In addition, since the application uses absolute distance screening, it can reduce the amount of matching calculations for sensing data frames, and at the same time avoid false detection of loopback points in similar scenes, reducing the probability of failure to match successfully in partial matching.
在可能的实现方式中,在未检测到回环点时,本申请还可以根据机器人所检测到的绝对位置,结合机器人的移动轨迹,对所述机器人的移动轨迹进行校正,从而进一步提升机器人地图构建的准确度。In a possible implementation, when the loopback point is not detected, the application can also correct the robot's movement trajectory according to the absolute position detected by the robot, combined with the robot's movement trajectory, so as to further improve the robot map construction the accuracy.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the sequence numbers of the steps in the above embodiments do not mean the order of execution, and the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiment of the present application.
图5为本申请实施例提供的一种机器人的环境地图构建装置的示意图,该装置与图2所机器人的环境地图构建方法对应。如图5所示,该装置包括:FIG. 5 is a schematic diagram of an apparatus for constructing an environment map for a robot provided in an embodiment of the present application, and the apparatus corresponds to the method for constructing an environment map for a robot in FIG. 2 . As shown in Figure 5, the device includes:
数据获取单元501,用于获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库;The data acquisition unit 501 is configured to acquire the sensing data frame during the movement of the robot, and acquire the absolute position corresponding to the sensing data frame, and generate a sensing data frame library according to the acquired sensing data frame and absolute position;
数据查找单元502,用于根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧;The data search unit 502 is configured to search the absolute position matched by the current absolute position in the sensing data frame library according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, and the matched absolute position The sensor data frame corresponding to the absolute position;
传感数据帧匹配单元503,用于将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。The sensing data frame matching unit 503 is configured to match the searched sensing data frame with the currently acquired sensing data frame, and perform loopback optimization and environment map construction according to the matching result.
为了进一步降低地图构建的计算量,所述传感数据帧可以为关键帧。In order to further reduce the calculation amount of map construction, the sensing data frame may be a key frame.
在确定所述关键时,可以包括以下方式中的一项或者多项:When determining the key, one or more of the following methods may be included:
根据预先设定的移动距离阈值,确定机器人移动过程中的关键帧;Determine the key frame during the robot's movement according to the preset movement distance threshold;
或者,根据预先设定的旋转角度阈值,确定机器人移动过程中的关键帧;Or, according to the preset rotation angle threshold, determine the key frame during the movement of the robot;
或者,根据预先设定的差异度阈值,确定机器人移动过程中的关键帧。Alternatively, according to a preset difference degree threshold, key frames during the movement of the robot are determined.
在可能的实现方式中,所述数据获取单元可以用于:In a possible implementation, the data acquisition unit may be used for:
计算当前获取的传感数据帧对应的绝对位置与所述传感数据帧库的绝对位置的距离;Calculate the distance between the absolute position corresponding to the currently acquired sensing data frame and the absolute position of the sensing data frame library;
如果所计算的距离小于预设的距离阈值,则确定该距离所对应的传感数据帧库中的绝对位置;If the calculated distance is less than the preset distance threshold, then determine the absolute position in the sensing data frame library corresponding to the distance;
根据传感数据帧库中的绝对位置与传感数据帧的对应关系,查找所确定的绝对位置对应的传感数据帧。According to the corresponding relationship between the absolute position and the sensing data frame in the sensing data frame database, the sensing data frame corresponding to the determined absolute position is searched.
在可能的实现方式中,所述传感数据帧匹配单元可用于:In a possible implementation, the sensing data frame matching unit may be used for:
计算所确定的传感数据帧与当前获取的传感数据帧之间的相似度;calculating the similarity between the determined sensing data frame and the currently acquired sensing data frame;
将所述相似度与预先设定的相似度阈值进行比较,选择相似度大于预定的相似度阈值的、且位于传感数据帧库中的传感数据帧;Comparing the similarity with a preset similarity threshold, selecting a sensing data frame whose similarity is greater than the predetermined similarity threshold and located in the sensing data frame library;
将根据选择的传感数据帧和绝对位置,对机器人移动轨迹进行优化;The trajectory of the robot will be optimized based on the selected sensor data frame and absolute position;
根据优化后的轨迹进行环境地图构建。The environment map is constructed according to the optimized trajectory.
为了提高地图构建的准确度,可以对传感数据帧库进行实时的更新,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置时,如果在所述传感数据帧库中未查找到当前的绝对位置匹配的绝对位置,则将当前获取的所述传感数据帧和所述绝对位置添加至所述传感数据帧库。In order to improve the accuracy of map construction, the sensor data frame library can be updated in real time, and according to the absolute position corresponding to the sensor data frame currently acquired by the robot and the preset distance threshold, search in the sensor data frame library When the current absolute position matches the absolute position, if the absolute position matching the current absolute position is not found in the sensing data frame library, add the currently acquired sensing data frame and the absolute position to The sensory data frame library.
其中,本申请实施例中的绝对位置,可以根据预先设定的UWB基站所发送的定位信号确定。Wherein, the absolute position in the embodiment of the present application may be determined according to a positioning signal sent by a preset UWB base station.
图6是本申请一实施例提供的机器人的示意图。如图6所示,该实施例的机器人6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如机器人的环境地图构建程序。所述处理器60执行所述计算机程序62时实现上述各个机器人的环境地图构建方法实施例中的步骤。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能。Fig. 6 is a schematic diagram of a robot provided by an embodiment of the present application. As shown in Figure 6, the robot 6 of this embodiment includes: a processor 60, a memory 61, and a computer program 62 stored in the memory 61 and operable on the processor 60, such as the environment map construction program of the robot . When the processor 60 executes the computer program 62, the steps in the above embodiments of the environment map construction method for each robot are realized. Alternatively, when the processor 60 executes the computer program 62, the functions of the modules/units in the above-mentioned device embodiments are implemented.
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述机器人6中的执行过程。Exemplarily, the computer program 62 can be divided into one or more modules/units, and the one or more modules/units are stored in the memory 61 and executed by the processor 60 to complete this application. The one or more modules/units may be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program 62 in the robot 6 .
所述机器人可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是机器人6的示例,并不构成对机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入输出设备、网络接入设备、总线等。The robot may include, but not limited to, a processor 60 and a memory 61 . Those skilled in the art can understand that Fig. 6 is only an example of the robot 6, and does not constitute a limitation to the robot 6, and may include more or less components than shown in the illustration, or combine certain components, or different components, for example The robot may also include input and output devices, network access devices, buses, and the like.
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The so-called processor 60 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), Field-Programmable Gate Array (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.
所述存储器61可以是所述机器人6的内部存储单元,例如机器人6的硬盘或内存。所述存储器61也可以是所述机器人6的外部存储设备,例如所述机器人6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述机器人6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述机器人所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。The memory 61 may be an internal storage unit of the robot 6 , such as a hard disk or memory of the robot 6 . Described memory 61 also can be the external storage device of described robot 6, for example the plug-in type hard disk that is equipped on described robot 6, smart memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD) card, Flash card (Flash Card), etc. Further, the memory 61 may also include both an internal storage unit of the robot 6 and an external storage device. The memory 61 is used to store the computer program and other programs and data required by the robot. The memory 61 can also be used to temporarily store data that has been output or will be output.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used for illustration. In practical applications, the above-mentioned functions can be assigned to different functional units, Completion of modules means that the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment may be integrated into one processing unit, or each unit may exist separately physically, or two or more units may be integrated into one unit, and the above-mentioned integrated units may adopt hardware It can also be implemented in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the present application. For the specific working process of the units and modules in the above system, reference may be made to the corresponding process in the foregoing method embodiments, and details will not be repeated here.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。In the above-mentioned embodiments, the descriptions of each embodiment have their own emphases, and for parts that are not detailed or recorded in a certain embodiment, refer to the relevant descriptions of other embodiments.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those skilled in the art can appreciate that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。In the embodiments provided in this application, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other ways. For example, the device/terminal device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units Or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented. In another point, 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.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。If the integrated module/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. Based on this understanding, all or part of the processes in the methods of the above embodiments in this application can also be completed by hardware related to computer program instructions. The computer program 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. Wherein, 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 include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a removable hard disk, a magnetic disk, an optical disk, a computer memory, and a read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, computer-readable media Excluding electrical carrier signals and telecommunication signals.
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still implement the foregoing embodiments Modifications to the technical solutions described in the examples, or equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the application, and should be included in the Within the protection scope of this application.

Claims (10)

  1. 一种机器人的环境地图构建方法,其特征在于,所述方法包括:A method for constructing an environment map of a robot, characterized in that the method comprises:
    获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库;Obtain the sensing data frame during the movement of the robot, and obtain the absolute position corresponding to the sensing data frame, and generate a sensing data frame library according to the acquired sensing data frame and absolute position;
    根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧;According to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, search the absolute position matching the current absolute position in the sensing data frame library, and the sensing data corresponding to the matched absolute position frame;
    将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。Match the searched sensor data frame with the currently acquired sensor data frame, and perform loopback optimization and environment map construction according to the matching result.
  2. 根据权利要求1所述的方法,其特征在于,所述传感数据帧为关键帧。The method according to claim 1, wherein the sensing data frame is a key frame.
  3. 根据权利要求2所述的方法,其特征在于,获取机器人移动过程中的传感数据帧,包括以下方式中的一项或多项:The method according to claim 2, wherein obtaining the sensing data frame during the movement of the robot includes one or more of the following methods:
    根据预先设定的移动距离阈值,确定机器人移动过程中的关键帧;Determine the key frame during the robot's movement according to the preset movement distance threshold;
    或者,根据预先设定的旋转角度阈值,确定机器人移动过程中的关键帧;Or, according to the preset rotation angle threshold, determine the key frame during the movement of the robot;
    或者,根据预先设定的差异度阈值,确定机器人移动过程中的关键帧。Alternatively, according to a preset difference degree threshold, key frames during the movement of the robot are determined.
  4. 根据权利要求1或2所述的方法,其特征在于,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧,包括:The method according to claim 1 or 2, characterized in that, according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, the current absolute position matching is searched in the sensing data frame library The absolute position of , and the sensor data frame corresponding to the matched absolute position, including:
    计算当前获取的传感数据帧对应的绝对位置与所述传感数据帧库的绝对位置的距离;Calculate the distance between the absolute position corresponding to the currently acquired sensing data frame and the absolute position of the sensing data frame library;
    如果所计算的距离小于预设的距离阈值,则确定该距离所对应的传感数据帧库中的绝对位置;If the calculated distance is less than the preset distance threshold, then determine the absolute position in the sensing data frame library corresponding to the distance;
    根据传感数据帧库中的绝对位置与传感数据帧的对应关系,查找所确定的绝对位置对应的传感数据帧。According to the corresponding relationship between the absolute position and the sensing data frame in the sensing data frame database, the sensing data frame corresponding to the determined absolute position is searched.
  5. 根据权利要求1或2所述的方法,其特征在于,将所确定的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建,包括:The method according to claim 1 or 2, wherein the determined sensing data frame is matched with the currently acquired sensing data frame, and loopback optimization and environment map construction are performed according to the matching result, including:
    计算所确定的传感数据帧与当前获取的传感数据帧之间的相似度;calculating the similarity between the determined sensing data frame and the currently acquired sensing data frame;
    将所述相似度与预先设定的相似度阈值进行比较,选择相似度大于预定的相似度阈值的、且位于传感数据帧库中的传感数据帧;Comparing the similarity with a preset similarity threshold, selecting a sensing data frame whose similarity is greater than the predetermined similarity threshold and located in the sensing data frame library;
    将根据选择的传感数据帧和绝对位置,对机器人移动轨迹进行优化;The trajectory of the robot will be optimized based on the selected sensor data frame and absolute position;
    根据优化后的轨迹进行环境地图构建。The environment map is constructed according to the optimized trajectory.
  6. 根据权利要求1所述的方法,其特征在于,获取所述传感数据帧对应的绝对位置,包括:The method according to claim 1, wherein obtaining the absolute position corresponding to the sensing data frame comprises:
    根据预先设定的UWB基站,确定所述机器人在获取传感数据帧时所对应的绝对位置。According to the preset UWB base station, the absolute position corresponding to the robot when acquiring the sensing data frame is determined.
  7. 根据权利要求1所述的方法,其特征在于,根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置时,如果在所述传感数据帧库中未查找到当前的绝对位置匹配的绝对位置,则将当前获取的所述传感数据帧和所述绝对位置添加至所述传感数据帧库。The method according to claim 1, characterized in that, according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, the absolute position matching the current absolute position is searched in the sensing data frame library. position, if an absolute position matching the current absolute position is not found in the sensing data frame library, add the currently acquired sensing data frame and the absolute position to the sensing data frame library .
  8. 一种机器人的环境地图构建装置,其特征在于,所述装置包括:A robot environment map construction device, characterized in that the device comprises:
    数据获取单元,用于获取机器人移动过程中的传感数据帧,以及获取所述传感数据帧对应的绝对位置,根据所获取的传感数据帧及绝对位置生成传感数据帧库;The data acquisition unit is used to acquire the sensing data frame during the movement of the robot, and acquire the absolute position corresponding to the sensing data frame, and generate the sensing data frame library according to the acquired sensing data frame and absolute position;
    数据查找单元,用于根据机器人当前获取的传感数据帧对应的绝对位置以及预设的距离阈值,在所述传感数据帧库中查找当前的绝对位置匹配的绝对位置,以及所匹配的绝对位置对应的传感数据帧;The data search unit is used to search the absolute position matched by the current absolute position in the sensing data frame library according to the absolute position corresponding to the sensing data frame currently acquired by the robot and the preset distance threshold, and the matched absolute position The sensor data frame corresponding to the position;
    传感数据帧匹配单元,用于将所查找的传感数据帧与当前获取的传感数据帧进行匹配,根据匹配结果进行回环优化和环境地图构建。The sensing data frame matching unit is configured to match the searched sensing data frame with the currently acquired sensing data frame, and perform loopback optimization and environment map construction according to the matching result.
  9. 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。A robot, comprising a memory, a processor, and a computer program stored in the memory and operable on the processor, characterized in that, when the processor executes the computer program, the computer program according to claims 1 to 7 is realized. The step of any described method.
  10. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。A computer-readable storage medium storing a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 7 when the computer program is executed by a processor.
PCT/CN2021/126706 2021-05-31 2021-10-27 Robot, and environment map construction method and apparatus therefor WO2022252482A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110598469.X 2021-05-31
CN202110598469.XA CN113297259A (en) 2021-05-31 2021-05-31 Robot and environment map construction method and device thereof

Publications (1)

Publication Number Publication Date
WO2022252482A1 true WO2022252482A1 (en) 2022-12-08

Family

ID=77326174

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/126706 WO2022252482A1 (en) 2021-05-31 2021-10-27 Robot, and environment map construction method and apparatus therefor

Country Status (2)

Country Link
CN (1) CN113297259A (en)
WO (1) WO2022252482A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297259A (en) * 2021-05-31 2021-08-24 深圳市优必选科技股份有限公司 Robot and environment map construction method and device thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104390643A (en) * 2014-11-24 2015-03-04 上海美琦浦悦通讯科技有限公司 Method for realizing indoor positioning based on multi-information fusion
US20180356492A1 (en) * 2015-06-16 2018-12-13 Michael Hamilton Vision based location estimation system
CN109141442A (en) * 2018-09-07 2019-01-04 高子庆 Navigation method based on UWB positioning and image feature matching and mobile terminal
CN109141393A (en) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 Method for relocating, equipment and storage medium
CN109974701A (en) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 The localization method and device of robot
CN110554396A (en) * 2019-10-21 2019-12-10 深圳市元征科技股份有限公司 laser radar mapping method, device, equipment and medium in indoor scene
CN110727265A (en) * 2018-06-28 2020-01-24 深圳市优必选科技有限公司 Robot repositioning method and device and storage device
CN111881233A (en) * 2020-06-28 2020-11-03 广州文远知行科技有限公司 Distributed point cloud map construction method and device, server and computer readable storage medium
CN113297259A (en) * 2021-05-31 2021-08-24 深圳市优必选科技股份有限公司 Robot and environment map construction method and device thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109813319B (en) * 2019-03-07 2021-09-28 山东大学 Open loop optimization method and system based on SLAM (Simultaneous localization and mapping) mapping
CN110533587B (en) * 2019-07-03 2023-06-13 浙江工业大学 SLAM method based on visual priori information and map restoration
CN111145634B (en) * 2019-12-31 2022-02-22 深圳市优必选科技股份有限公司 Method and device for correcting map
GB2597335A (en) * 2020-07-20 2022-01-26 Navenio Ltd Map matching trajectories

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104390643A (en) * 2014-11-24 2015-03-04 上海美琦浦悦通讯科技有限公司 Method for realizing indoor positioning based on multi-information fusion
US20180356492A1 (en) * 2015-06-16 2018-12-13 Michael Hamilton Vision based location estimation system
CN109974701A (en) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 The localization method and device of robot
CN110727265A (en) * 2018-06-28 2020-01-24 深圳市优必选科技有限公司 Robot repositioning method and device and storage device
CN109141393A (en) * 2018-07-02 2019-01-04 北京百度网讯科技有限公司 Method for relocating, equipment and storage medium
CN109141442A (en) * 2018-09-07 2019-01-04 高子庆 Navigation method based on UWB positioning and image feature matching and mobile terminal
CN110554396A (en) * 2019-10-21 2019-12-10 深圳市元征科技股份有限公司 laser radar mapping method, device, equipment and medium in indoor scene
CN111881233A (en) * 2020-06-28 2020-11-03 广州文远知行科技有限公司 Distributed point cloud map construction method and device, server and computer readable storage medium
CN113297259A (en) * 2021-05-31 2021-08-24 深圳市优必选科技股份有限公司 Robot and environment map construction method and device thereof

Also Published As

Publication number Publication date
CN113297259A (en) 2021-08-24

Similar Documents

Publication Publication Date Title
CN110657803B (en) Robot positioning method, device and storage device
US10996062B2 (en) Information processing device, data management device, data management system, method, and program
CN110979346B (en) Method, device and equipment for determining lane where vehicle is located
JP2020067439A (en) System and method for estimating position of moving body
CN112179330A (en) Pose determination method and device of mobile equipment
WO2022121018A1 (en) Robot, and mapping method and apparatus therefor
CN113313763B (en) Monocular camera pose optimization method and device based on neural network
CN105606102A (en) Grid model based PDR indoor positioning method and system
CN111383246B (en) Scroll detection method, device and equipment
WO2022252482A1 (en) Robot, and environment map construction method and apparatus therefor
CN114187418A (en) Loop detection method, point cloud map construction method, electronic device and storage medium
WO2022036981A1 (en) Robot, and map construction method and device thereof
CN112923938A (en) Map optimization method, device, storage medium and system
CN115908498B (en) Multi-target tracking method and device based on category optimal matching
CN115375870B (en) Loop detection optimization method, electronic equipment and computer readable storage device
CN111368860B (en) Repositioning method and terminal equipment
WO2023005020A1 (en) Reflector localization method, robot and computer-readable storage medium
CN116563352A (en) Single-line laser radar loop detection method and system integrating depth visual information
CN112561956B (en) Video target tracking method and device, electronic equipment and storage medium
CN111814114A (en) Method, device, electronic device, vehicle and storage medium for lane positioning verification
CN114674307B (en) Repositioning method and electronic equipment
CN116539026B (en) Map construction method, device, equipment and storage medium
CN112614162B (en) Indoor vision rapid matching and positioning method and system based on space optimization strategy
CN116592897B (en) Improved ORB-SLAM2 positioning method based on pose uncertainty
CN111862163B (en) Trajectory optimization method and device

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: 21943834

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE