WO2022143114A1 - Static map generation method and apparatus, and computer device and storage medium - Google Patents

Static map generation method and apparatus, and computer device and storage medium Download PDF

Info

Publication number
WO2022143114A1
WO2022143114A1 PCT/CN2021/137379 CN2021137379W WO2022143114A1 WO 2022143114 A1 WO2022143114 A1 WO 2022143114A1 CN 2021137379 W CN2021137379 W CN 2021137379W WO 2022143114 A1 WO2022143114 A1 WO 2022143114A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
map
point cloud
pose
static
Prior art date
Application number
PCT/CN2021/137379
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 WO2022143114A1 publication Critical patent/WO2022143114A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes

Definitions

  • the present application relates to the field of robot positioning, and in particular, to a method, device, computer equipment and storage medium for generating a static map.
  • Localization and mapping can use single-line lidar, multi-line lidar, or depth cameras.
  • the cost of single-line lidar is low, but its perception range is a two-dimensional plane, and the amount of map information generated is low.
  • Multi-line lidar can perceive three-dimensional space, but its high price limits its application range.
  • the depth camera is generally used to build a 3D map, and the generated 3D map will occupy a large storage space.
  • the 3D map cannot further improve the positioning accuracy of the robot, but increases the storage space. and data processing requirements.
  • a static map generation method for example, a static map generation method, apparatus, computer device, and storage medium.
  • a static map generation method including:
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  • a static map generating device comprising:
  • the data acquisition module is used to acquire the depth image data and pose data collected in the same time period
  • a synchronous pose information determining module configured to determine pose information synchronized with the depth image data according to the pose data
  • a point cloud generation module configured to process the depth image data based on the pose information and the installation position corresponding to the depth image data, to generate point cloud data in the robot coordinate system;
  • a point cloud interception module configured to intercept the point cloud data according to a preset interception rule to generate local point cloud data
  • an obstacle map update module configured to update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
  • the static map update module is used to update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
  • a computer device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, the processor executing the computer-readable instructions to achieve the following static map generation method:
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  • One or more readable storage media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform a static map generation method as described above.
  • FIG. 1 is a schematic flowchart of a method for generating a static map in an embodiment of the present application
  • 3 is a local obstacle map in a robot coordinate system in an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a depth camera perception area in an embodiment of the present application.
  • FIG. 6 is a comparison between four local obstacle maps at different times and an initial static map in an embodiment of the present application
  • FIG. 7 is a schematic structural diagram of a static map generating apparatus in an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a computer device in an embodiment of the present application.
  • a static map generation method which includes the following steps:
  • the depth image data refers to image data with depth information collected by a depth camera installed on the robot.
  • depth image data may also be referred to as RGBD data.
  • the depth image data includes several frames of depth images. Each frame of depth image is marked with a timestamp corresponding to its acquisition time.
  • the pose data is the position and attitude of the robot (usually represented by an angle) collected by the positioning sensor on the robot.
  • the pose data includes several pieces of pose information.
  • the pose information can include plane coordinates (values on the X, Y axis), angles. Each pose information has its corresponding acquisition time.
  • the same time period can refer to the acquisition time of the depth image data and the pose data both in the mapping stage of the robot. Since the depth camera and the positioning sensor are independent acquisition devices, their sampling frequencies can be the same or different. Therefore, although the depth image data and the pose data are collected in the same time period, for a certain frame of depth image at a specific time, there may not necessarily have the pose information at the same time, but in the time interval ( If the total length is 10 seconds), there is one or more pose information.
  • synchronous refers to being at the same time.
  • the pose data contains the pose information at the specified time
  • the pose information at the specified time is directly obtained, which is the pose information synchronized with the depth image data; If the pose data does not contain the pose information at the specified time, the closest first pose information before the specified time and the second closest after the specified time can be obtained.
  • the first pose information and the second The pose information estimates the pose information at a specified time, that is, the pose information synchronized with the depth image data.
  • the installation position corresponding to the depth image data refers to the installation position of the depth camera on the robot.
  • the installation position of the depth image data can be converted into a coordinate point in the robot coordinate system.
  • the pose information can determine the orientation of the robot coordinate system in the world coordinate system (for example, it can be the position of the origin of the robot coordinate system in the world coordinate system, and the angle between the X axis of the robot coordinate system and the X axis of the world coordinate system).
  • One point cloud can be generated per frame of depth image. By traversing all depth images (ie depth image data) in chronological order, multiple point clouds can be obtained to form point cloud data. That is, the point cloud data includes several point clouds.
  • the depth image can be converted into a point cloud in camera coordinates based on the internal parameters of the depth camera, and then converted into a point cloud in the robot coordinate system according to the point cloud data in the camera coordinates of the installation location.
  • the preset interception rule may stipulate that a point cloud within a specified spatial range in front of the depth camera (that is, in front of the robot) is selected.
  • the specified spatial extent is related to the imaging capabilities of the depth camera.
  • the preset interception rule may be set to: intercept the point cloud within 2 meters in front of the depth camera, which is higher than the ground and lower than the visual height of the robot.
  • a local point cloud can be generated.
  • Local point cloud can greatly reduce the processing volume of point cloud data and improve the quality of point cloud at the same time.
  • the local point cloud data includes several local point clouds.
  • the conversion of local point cloud data to global obstacle map data requires operations of projection and coordinate system switching. You can project first and then switch the coordinate system, or you can switch the coordinate system first and then project.
  • the local point cloud is first projected on the robot coordinate system to generate a local obstacle map, and then based on the orientation of the robot coordinate system in the world coordinate system determined by the pose information, the local obstacle map is converted into Global obstacle map.
  • the pixel value of the grid with point projection is set to 255, and the pixel value of the grid without point projection is set to 0.
  • Multiple local point cloud data can generate multiple global obstacle maps.
  • the global obstacle map data includes several global obstacle maps.
  • the global obstacle map data includes several global obstacle maps.
  • the initial static map can be updated using the frame-by-frame global obstacle map in chronological order.
  • the unupdated initial static map is a grid map with a pixel value of 0.
  • the pixel value of the corresponding grid on the initial static map can be updated based on the size of the pixel value of the grid on the global obstacle map.
  • the pixel value of grid (100,100) on the global obstacle map is 255
  • the pixel value of grid (100,100) on the initial static map is V 0 +V 1
  • the grid on the global obstacle map has a pixel value of V 0 +V 1
  • the pixel value of (100,100) is 0, then after the update, the pixel value of grid (100,100) on the initial static map is V 0 -V 2 , where V 0 is the value of grid (100,100) on the static map before the update.
  • Pixel value, V 1 and V 2 are all self-defined amplitudes (positive numbers), which can be set according to actual needs.
  • the pixel value of the grid on the initial static map ranges from 0 to 255. If the updated pixel value exceeds this range, the updated pixel value is set to 0 or 255.
  • V 1 and V 2 respectively control the increase and attenuation of the pixel value of the static map grid.
  • the pixel value of the grid corresponding to its location will increase.
  • the pixel value of the grid corresponding to its location will gradually decay, and finally becomes 0. . Therefore, when the robot is building a map, as long as it is ensured that after the dynamic obstacle leaves, it continues to collect data at the original stop position of the dynamic obstacle, and the interference of the dynamic obstacle can generally be eliminated.
  • the position of the static obstacle does not change, the pixel value of the grid corresponding to the position of the static obstacle will not be attenuated. Therefore, the pixel value of the grid corresponding to the position of the static obstacle is higher.
  • steps S10-S60 the depth image data and pose data collected in the same time period are acquired to obtain the original data for generating the static map.
  • the pose information synchronized with the depth image data is determined according to the pose data, so as to determine the association relationship (through time association) between the pose data and the depth image data.
  • the depth image data is processed based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system, so as to convert the depth image data into three-dimensional data that is easy to process (ie point cloud data), there is no need to build a 3D model, which greatly saves computing resources.
  • the point cloud data is intercepted according to preset interception rules, and local point cloud data is generated to screen the point cloud.
  • the global obstacle map data is updated according to the local point cloud data, and the coordinate system of the global obstacle map data is the world coordinate system, so as to process the three-dimensional data into two-dimensional data.
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map, so as to generate a static map.
  • step S50 that is, updating the global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system, including:
  • updating the local obstacle map data according to the local point cloud data is to project each point in the point cloud to the ground plane of the robot coordinates (the plane formed by the X axis and the Y axis).
  • the update of the local obstacle map data is completed.
  • the corresponding pixel value of the grid projected by the point cloud is set to 255, and the corresponding pixel value of the grid not projected by the point cloud remains the original value of 0.
  • FIG. 3 is a local obstacle map in the robot coordinate system.
  • the updated local obstacle map data can be converted into global obstacle map data according to the orientation of the robot coordinate system in the world coordinate system determined by the pose information.
  • the coordinate system of the global obstacle map data is the world coordinate system.
  • FIG. 4 is a global obstacle map in the world coordinate system.
  • step S10 that is, before the acquiring the depth image data and pose data that are collected synchronously, the method further includes:
  • the initial pose data is uncorrected data.
  • the initial pose data is the data collected when the robot performs the mapping process.
  • the methods that can be used for robot mapping include, but are not limited to, lidar-based mapping methods and two-dimensional code-based mapping methods.
  • the initial pose data is collected at preset condition intervals during the mapping process.
  • the preset condition intervals can be time intervals, for example, collected every 0.5S. , it can also be a frame interval, for example, it is collected every 10 frames, it can also be an angle interval, for example, it can be collected once every time the change amplitude is greater than 30 degrees compared with the last collection, or it can be a distance interval, for example, every time the run exceeds 0.5 m can be collected once, etc., which is not limited here. Therefore, during the whole mapping process, multiple initial pose data will be collected, such as 10 or 20, and so on.
  • the robot can obtain its current low-accuracy initial pose data according to the odometer.
  • the initial pose data is greatly influenced by sensors or processing algorithms.
  • the robot pushes back to the origin, due to the existence of errors, the robot may think that there is still a large deviation from the origin.
  • the robot can make clear the position information of the end point (that is, the origin), and correct multiple initial pose data by calculating the deviation between the measured value and the real value, and obtain the pose data with higher accuracy.
  • Correction of each initial pose data will form corrected pose data, and multiple corrected pose data form the pose data.
  • step S20 that is, determining the pose information synchronized with the depth image data according to the pose data, including:
  • the acquisition time of the depth image data can be represented by a timestamp. That is, the acquisition time of the depth image data includes timestamps of several depth images.
  • the pose data includes several pose information. Each pose information has its corresponding acquisition time.
  • the collection time of pose information can also be represented by a timestamp.
  • Whether there is corresponding pose information in the pose data can be searched according to the timestamp of the depth image. If there is, the pose information is the pose information synchronized with the depth image data. If it does not exist, the pose information corresponding to the timestamp of the depth image can be determined through an interpolation algorithm. Specifically, the pose data at the collection time may be generated by using the pose data whose time relationship is most adjacent to the collection time.
  • the pose information and pose data at the acquisition time are the pose information synchronized with the depth image data.
  • the pose data corresponding to the acquisition time is selected as the pose information synchronized with the depth image data.
  • step S40 that is, intercepting the point cloud data according to a preset interception rule to generate local point cloud data, including:
  • S402. Determine a target area according to the facing position, and extract the local point cloud data from the point cloud data according to the target area, where the target area includes within a specified distance in front of the robot, higher than the ground and low The perception area at the height of the robot's vision.
  • the pose information includes the plane coordinates and angle information of the robot, and the facing position of the robot can be determined through the angle information in the pose information.
  • the angle information may include plane rotation angle (horizontal direction) and/or elevation angle (vertical direction). In an example, it can be defined that the angle is 0°, the facing position is rightward, and the angle is 180°, and the facing position is leftward.
  • the sensing area (ie sensing range) of the depth camera can be determined by the facing position of the robot.
  • the perception area of the depth camera may be the imaging area of the camera.
  • the target area is less than or equal to the perception area of the depth camera.
  • FIG. 5 is a schematic diagram of the perception area of the depth camera.
  • the point cloud data is only distributed in the perceptual range (sector area) of RGBD (representing the depth camera here)
  • the perceptual range of the RGBD is required.
  • the grid is updated, and the RGBD perceptual blind area is not updated.
  • the target area includes the perception area within the specified distance in front of the robot, higher than the ground and lower than the robot's visual height.
  • the specified distance can be set according to actual needs.
  • the target area can be set as an area within 2 meters in front of the depth camera, higher than the ground and lower than the vision height of the robot.
  • step S501 that is, updating the local obstacle map data according to the local point cloud data, where the coordinate system of the local obstacle map data is a robot coordinate system, including:
  • S5011 project the local point cloud data to the local obstacle map on the ground plane, and set the pixel value of the grid where the point projection exists as the specified pixel value;
  • each point in the point cloud can be projected to the ground plane of the robot coordinates (the plane formed by the X axis and the Y axis).
  • the update of the local obstacle map data is completed.
  • the corresponding pixel value of the grid projected by the point cloud is set to 255, and the corresponding pixel value of the grid not projected by the point cloud remains the original value of 0.
  • FIG. 3 is a local obstacle map in the robot coordinate system.
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map, including:
  • the initial static map may be updated frame by frame among multiple global obstacle maps in the global obstacle map data in chronological order.
  • a static map is available when all global obstacle maps are updated.
  • the pixel value of the grid without obstacles is 0, which is black, and the pixel value of the grid with obstacles is greater than 0. The larger the pixel value, the higher the probability that the obstacle exists.
  • grids with obstacles appear gray or white on the static map.
  • the pixel value of the first specified grid in the global obstacle map is greater than 0 (usually 255)
  • the pixel value of the first static grid is increased by the first preset value.
  • the pixel value of the first static grid after increasing the first preset amplitude value is not greater than 255
  • the first static grid is the grid corresponding to the first specified grid in the initial static map.
  • the first preset amplitude is a positive number, which can be set according to actual needs.
  • the size of the first preset amplitude is inversely proportional to the number of frames of the global obstacle map per second, and inversely proportional to the brightening time (the time for the pixel value to continuously increase from 0 to 255).
  • the pixel value of the second specified grid in the global obstacle map data is 0, reduce the pixel value of the second static grid by a second preset amplitude, and reduce the second static grid by the second preset amplitude.
  • the pixel value of the grid is not less than 0, and the second static grid is the grid corresponding to the second specified grid in the initial static map.
  • the second preset amplitude is a positive number, which can be set according to actual needs.
  • the size of the second preset amplitude is inversely proportional to the number of frames of the global obstacle map per second, and inversely proportional to the decay time (the time for the pixel value to continuously decrease from 255 to 0).
  • the first row of images in FIG. 6 is a local obstacle map at four different times
  • the second row of images is an initial static map at four different times.
  • the perception range of the robot is ⁇ 90 degrees in front, and it drives forward along the X-axis direction.
  • the following is the update process of the initial static map at 4 moments.
  • the robot observes the L-shaped and point-shaped obstacles ahead (the upper left in Figure 6), and transfers it to the world coordinate system to generate the corresponding global obstacle map (not shown in Figure 6, for reference Figure 3 and Figure 4), the corresponding position grid value begins to increase V 1 ( Figure 6 bottom left).
  • the robot moves forward by a grid, and the dynamic obstacle also moves forward by a grid (the second upper left of Figure 6). Since a dynamic obstacle is observed at the new position, the grid value corresponding to this position is increased by V 1 , but no object was observed at the position where the dynamic obstacle was located in the previous frame, and the grid value corresponding to this position is attenuated by V 2 , namely darken.
  • V 1 the grid value of its location continues to increase by V 1 , that is, it becomes brighter (the second lower left in Figure 6 ).
  • the robot continues to move forward by a grid, and the dynamic obstacle also continues to move forward by a grid (the second upper right in Figure 6). Since a dynamic obstacle is observed at the new position, the grid value corresponding to this position is increased by V 1 , but no object is observed at the position where the dynamic obstacle is located in the previous two frames, and the corresponding grid value is attenuated by V 2 , that is, it becomes darker .
  • V 1 the grid value of its location continues to increase by V 1 , that is, it becomes brighter (the second bottom right of Figure 6 ).
  • the updated initial static map is the static map, and further includes:
  • the code map data may refer to the visual sign recognition data collected during the process of the robot's map building. Before the robot builds a map, a number of visual markers (generally pasted on the ceiling) are pasted on the robot's driving path.
  • the code map data can determine the position of the robot.
  • the static map contains obstacle information. According to the code map data and static map, the feasible path of the robot can be planned, that is, the topology path.
  • the code map data is the map formed by the robot based on the two-dimensional code, etc.
  • the map does not consider the obstacle information, so if the topological path is only based on the map, the robot will not be able to run the map.
  • the impact of obstacles is considered in advance (and the immediate avoidance will only be performed when it is detected soon, which will affect the entire avoidance time and path), thereby affecting the operation effect.
  • the present application constructs a static map, and uses the obstacle information in the static map to form a topological path together with the code map data, that is, when planning the topological path, the obstacle information is taken into account, so that the robot can be Obstacles will be considered in advance, that is, the avoidance method will be provided in advance, so as to produce a complete avoidance path, thereby effectively improving the operation effect.
  • an apparatus for generating a static map is provided, and the apparatus for generating a static map is in one-to-one correspondence with the method for generating a static map in the above-mentioned embodiment.
  • the static map generation device includes a data acquisition module 10 , a synchronized pose information determination module 20 , a point cloud generation module 30 , a point cloud interception module 40 , an obstacle map update module 50 and a static map update module 60 .
  • the detailed description of each functional module is as follows:
  • an acquisition data module 10 for acquiring depth image data and pose data collected in the same time period
  • a synchronous pose information determining module configured to determine pose information synchronized with the depth image data according to the pose data
  • a point cloud generating module 30 is configured to process the depth image data based on the pose information and the installation position corresponding to the depth image data, and generate point cloud data in the robot coordinate system;
  • a point cloud interception module 40 configured to intercept the point cloud data according to a preset interception rule to generate local point cloud data
  • an obstacle map update module 50 configured to update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
  • the static map updating module 60 is configured to update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
  • the obstacle map update module 50 includes:
  • a local map update unit configured to update local obstacle map data according to the local point cloud data, where the coordinate system of the local obstacle map data is a robot coordinate system;
  • a global map conversion unit configured to convert the updated local obstacle map data into the global obstacle map data.
  • the static map generating apparatus further includes:
  • an initial data acquisition module for acquiring initial pose data including several corrected pose data
  • a data correction module configured to correct the initial pose data according to the corrected pose data to generate the pose data.
  • the determining synchronization pose information module 20 includes:
  • an acquisition time unit for acquiring the acquisition time of the depth image data
  • a pose information unit for determining whether the pose data has pose information at the collection time
  • a pose information generating unit is used for, if the pose data does not have pose information at the collection time, process the pose data through an interpolation algorithm to generate pose information at the collection time, and the pose data at the collection time is generated.
  • the pose information at the acquisition time is the pose information synchronized with the depth image data.
  • the point cloud interception module 40 includes:
  • a point cloud intercepting unit configured to determine a target area according to the facing position, and extract the local point cloud data from the point cloud data according to the target area, and the target area includes within a specified distance in front of the robot, The perception area that is above the ground and below the robot's visual height.
  • the local map update unit includes:
  • a projection unit used to project the local point cloud data to the local obstacle map on the ground plane, and set the pixel value of the grid where the point projection exists as the specified pixel value;
  • the completion of the local map update unit is used to complete the update of the local obstacle map data after all points in the local point cloud data are projected.
  • the static map update module 60 includes:
  • a first update unit configured to increase the pixel value of the first static grid by a first preset amplitude if the pixel value of the first specified grid in the global obstacle map data is greater than 0, and increase the pixel value of the first specified grid
  • the pixel value of the first static grid after a preset amplitude is not greater than 255, and the first static grid is the grid corresponding to the first designated grid in the initial static map;
  • the second updating unit is configured to reduce the pixel value of the second static grid by a second preset magnitude if the pixel value of the second specified grid in the global obstacle map data is 0, and decrease the pixel value of the first grid.
  • the pixel value of the second static grid after two preset amplitudes is not less than 0, and the second static grid is a grid corresponding to the second specified grid in the initial static map.
  • the static map generating apparatus further includes:
  • Get the code map data module which is used to obtain the code map data
  • a topological path generating module is configured to generate a topological path of the robot according to the code map data and the static map.
  • Each module in the above-mentioned static map generating apparatus may be implemented in whole or in part by software, hardware and combinations thereof.
  • the above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
  • a computer device is provided, and the computer device may be a terminal, and its internal structure diagram may be as shown in FIG. 8 .
  • the computer equipment includes a processor, memory, a network interface, a display screen, and an input device connected by a system bus.
  • the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes a readable storage medium, an internal memory.
  • the non-volatile storage medium stores an operating system and computer-readable instructions.
  • the internal memory provides an environment for the execution of the operating system and computer-readable instructions in the readable storage medium.
  • the network interface of the computer device is used to communicate with an external server over a network connection.
  • the computer readable instructions when executed by a processor, implement a static map generation method.
  • the readable storage medium provided in this embodiment includes a non-volatile readable storage medium and a volatile readable storage medium.
  • a computer device comprising a memory, a processor, and computer-readable instructions stored on the memory and executable on the processor, and the processor implements the following steps when executing the computer-readable instructions:
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  • one or more computer-readable storage media storing computer-readable instructions are provided, and the readable storage media provided in this embodiment include non-volatile readable storage media and volatile readable storage media storage medium.
  • Computer-readable instructions are stored on the readable storage medium, and when the computer-readable instructions are executed by one or more processors, implement the following steps:
  • the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  • Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Road (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Abstract

A static map generation method and apparatus, and a computer device and a storage medium. The method comprises: acquiring depth image data and pose data which are collected within the same time period (S10); determining, according to the pose data, pose information which is synchronous with the depth image data (S20); processing the depth image data on the basis of the pose information and an installation position corresponding to the depth image data, so as to generate point cloud data in a robot coordinate system (S30); intercepting the point cloud data according to a pre-set interception rule, so as to generate local point cloud data (S40); updating global obstacle map data according to the local point cloud data, wherein a coordinate system of the global obstacle map data is a world coordinate system (S50); and updating an initial static map according to the global obstacle map data, wherein the updated initial static map is a static map (S60).

Description

静态地图生成方法、装置、计算机设备及存储介质Static map generation method, device, computer equipment and storage medium
本申请要求于2020年12月31日提交至中国专利局、申请号为202011640136.0、申请名称为“静态地图生成方法、装置、计算机设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application submitted to the China Patent Office on December 31, 2020, the application number is 202011640136.0, and the application name is "static map generation method, device, computer equipment and storage medium", the entire content of which is approved by Reference is incorporated in this application.
技术领域technical field
本申请涉及机器人定位领域,尤其涉及一种静态地图生成方法、装置、计算机设备及存储介质。The present application relates to the field of robot positioning, and in particular, to a method, device, computer equipment and storage medium for generating a static map.
背景技术Background technique
机器人在正常工作前,一般需要通过定位和建图,以完成工作部署。定位和建图可以使用单线激光雷达、多线激光雷达、或者深度相机。单线激光雷达的成本低,但其感知范围为一个二维平面,生成的地图信息量低。多线激光雷达可以感知三维空间,但其价格昂贵,限制了其应用范围。深度相机一般用于构建三维地图,生成的三维地图会占用较大的存储空间,而且,对于一些活动空间为二维平面的机器人,三维地图并无法进一步提高机器人的定位精度,反而提高了存储空间和数据处理方面的要求。Before the robot works normally, it generally needs to complete the work deployment through positioning and mapping. Localization and mapping can use single-line lidar, multi-line lidar, or depth cameras. The cost of single-line lidar is low, but its perception range is a two-dimensional plane, and the amount of map information generated is low. Multi-line lidar can perceive three-dimensional space, but its high price limits its application range. The depth camera is generally used to build a 3D map, and the generated 3D map will occupy a large storage space. Moreover, for some robots whose activity space is a 2D plane, the 3D map cannot further improve the positioning accuracy of the robot, but increases the storage space. and data processing requirements.
申请内容Application content
根据本发明的各种实施例,提供一种静态地图生成方法、装置、计算机设备及存储介质。According to various embodiments of the present invention, a static map generation method, apparatus, computer device, and storage medium are provided.
一种静态地图生成方法,包括:A static map generation method, including:
获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地 图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, and the coordinate system of the global obstacle map data is the world coordinate system;
根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
一种静态地图生成装置,包括:A static map generating device, comprising:
获取数据模块,用于获取在同一时间段采集的深度图像数据和位姿数据;The data acquisition module is used to acquire the depth image data and pose data collected in the same time period;
确定同步位姿信息模块,用于根据所述位姿数据确定与所述深度图像数据同步的位姿信息;a synchronous pose information determining module, configured to determine pose information synchronized with the depth image data according to the pose data;
生成点云模块,用于基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;a point cloud generation module, configured to process the depth image data based on the pose information and the installation position corresponding to the depth image data, to generate point cloud data in the robot coordinate system;
点云截取模块,用于根据预设截取规则对所述点云数据进行截取,生成局域点云数据;a point cloud interception module, configured to intercept the point cloud data according to a preset interception rule to generate local point cloud data;
障碍物地图更新模块,用于根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;an obstacle map update module, configured to update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
静态地图更新模块,用于根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The static map update module is used to update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现下述静态地图生成方法:A computer device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, the processor executing the computer-readable instructions to achieve the following static map generation method:
获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读 指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述静态地图生成方法。One or more readable storage media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform a static map generation method as described above.
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below. Other features and advantages of the present application will be apparent from the description, drawings, and claims.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present application more clearly, the following briefly introduces the drawings that are used in the description of the embodiments of the present application. Obviously, the drawings in the following description are only some embodiments of the present application. , for those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative labor.
图1是本申请一实施例中静态地图生成方法的一流程示意图;1 is a schematic flowchart of a method for generating a static map in an embodiment of the present application;
图2是本申请一实施例中未更新过的初始静态地图;2 is an initial static map that has not been updated in an embodiment of the present application;
图3是本申请一实施例中处于机器人坐标系的局域障碍物地图;3 is a local obstacle map in a robot coordinate system in an embodiment of the present application;
图4是本申请一实施例中处于世界坐标系的全局障碍物地图;4 is a global obstacle map in a world coordinate system in an embodiment of the present application;
图5是本申请一实施例中深度相机感知区域的示意图;5 is a schematic diagram of a depth camera perception area in an embodiment of the present application;
图6是本申请一实施例中四个不同时刻局域障碍物地图与初始静态地图的比较;FIG. 6 is a comparison between four local obstacle maps at different times and an initial static map in an embodiment of the present application;
图7是本申请一实施例中静态地图生成装置的一结构示意图;7 is a schematic structural diagram of a static map generating apparatus in an embodiment of the present application;
图8是本申请一实施例中计算机设备的一示意图。FIG. 8 is a schematic diagram of a computer device in an embodiment of the present application.
具体实施方式Detailed ways
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。In order to facilitate understanding of the present application, the present application will be described more fully below with reference to the related drawings. The preferred embodiments of the present application are shown in the accompanying drawings. However, the application may be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that a thorough and complete understanding of the disclosure of this application is provided.
除非另有定义,本文所使用的所有的技术和科学术语与属于发明的技术领域的技术人员通常理解的含义相同。本文中在发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组 合。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field of the invention. The terms used herein in the description of the invention are for the purpose of describing particular embodiments only and are not intended to limit the application. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
在一实施例中,如图1所示,提供一种静态地图生成方法,包括如下步骤:In one embodiment, as shown in FIG. 1, a static map generation method is provided, which includes the following steps:
S10、获取在同一时间段采集的深度图像数据和位姿数据。S10. Acquire depth image data and pose data collected in the same time period.
可理解地,深度图像数据指的是安装在机器人上的深度相机采集到的带有深度信息的图像数据。一些情况下,深度图像数据也可称为RGBD数据。深度图像数据包括若干帧深度图像。每帧深度图像标记有其采集时间所对应的时间戳。Understandably, the depth image data refers to image data with depth information collected by a depth camera installed on the robot. In some cases, depth image data may also be referred to as RGBD data. The depth image data includes several frames of depth images. Each frame of depth image is marked with a timestamp corresponding to its acquisition time.
位姿数据则为机器人上的定位传感器采集到的机器人位置和姿态(通常用角度表示)。位姿数据包括若干个位姿信息。位姿信息可以包括平面坐标(X,Y轴上的值),角度。每个位姿信息都有其对应的采集时间。The pose data is the position and attitude of the robot (usually represented by an angle) collected by the positioning sensor on the robot. The pose data includes several pieces of pose information. The pose information can include plane coordinates (values on the X, Y axis), angles. Each pose information has its corresponding acquisition time.
同一时间段可以指深度图像数据和位姿数据的采集时间都是在机器人的建图阶段。由于深度相机与定位传感器是相互独立的采集设备,其采样频率可以相同也可以不同。因而,深度图像数据和位姿数据虽然是在同一时间段采集,但对于处于特定时刻的某一帧深度图像,并不一定有相同时刻的位姿信息,但在包含该特定时刻的时间区间(如总长度为10秒)内,存在一个或多个位姿信息。The same time period can refer to the acquisition time of the depth image data and the pose data both in the mapping stage of the robot. Since the depth camera and the positioning sensor are independent acquisition devices, their sampling frequencies can be the same or different. Therefore, although the depth image data and the pose data are collected in the same time period, for a certain frame of depth image at a specific time, there may not necessarily have the pose information at the same time, but in the time interval ( If the total length is 10 seconds), there is one or more pose information.
S20、根据所述位姿数据确定与所述深度图像数据同步的位姿信息。S20. Determine, according to the pose data, pose information synchronized with the depth image data.
可理解地,同步指的是处于相同时刻。对于深度图像数据中采集时间为指定时刻的深度图像,若位姿数据中包含指定时刻的位姿信息,则直接获取该指定时刻的位姿信息,即为与深度图像数据同步的位姿信息;若位姿数据中不包含指定时刻的位姿信息,则可以获取指定时刻之前最邻近的第一位姿信息,指定时刻之后最邻近的第二位姿信息,根据第一位姿信息和第二位姿信息推测指定时刻的位姿信息,即为与深度图像数据同步的位姿信息。Understandably, synchronous refers to being at the same time. For the depth image whose acquisition time is a specified time in the depth image data, if the pose data contains the pose information at the specified time, the pose information at the specified time is directly obtained, which is the pose information synchronized with the depth image data; If the pose data does not contain the pose information at the specified time, the closest first pose information before the specified time and the second closest after the specified time can be obtained. According to the first pose information and the second The pose information estimates the pose information at a specified time, that is, the pose information synchronized with the depth image data.
S30、基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据。S30. Process the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system.
可理解地,与深度图像数据对应的安装位置,指的是深度相机在机器人的安装位置。通常情况下,深度图像数据的安装位置可以转换为机器人 坐标系中的坐标点。位姿信息可以确定机器人坐标系在世界坐标系的方位(如,可以是机器人坐标系原点在世界坐标系的位置,以及机器人坐标系的X轴与世界坐标系的X轴的夹角)。每帧深度图像可以生成一个点云。按时间顺序依次遍历所有深度图像(即深度图像数据),可以获得多个点云,形成点云数据。也就是说,点云数据包括若干点云。在一示例中,可以基于深度相机的内部参数,将深度图像转换为相机坐标下的点云,再根据安装位置相机坐标下的点云数据转换为机器人坐标系的点云。Understandably, the installation position corresponding to the depth image data refers to the installation position of the depth camera on the robot. Usually, the installation position of the depth image data can be converted into a coordinate point in the robot coordinate system. The pose information can determine the orientation of the robot coordinate system in the world coordinate system (for example, it can be the position of the origin of the robot coordinate system in the world coordinate system, and the angle between the X axis of the robot coordinate system and the X axis of the world coordinate system). One point cloud can be generated per frame of depth image. By traversing all depth images (ie depth image data) in chronological order, multiple point clouds can be obtained to form point cloud data. That is, the point cloud data includes several point clouds. In an example, the depth image can be converted into a point cloud in camera coordinates based on the internal parameters of the depth camera, and then converted into a point cloud in the robot coordinate system according to the point cloud data in the camera coordinates of the installation location.
S40、根据预设截取规则对所述点云数据进行截取,生成局域点云数据。S40. Intercept the point cloud data according to a preset interception rule to generate local point cloud data.
可理解地,为了保证静态地图的准确性,预设截取规则可以规定,选取深度相机前方(也即机器人前方)指定空间范围内的点云。指定空间范围与深度相机的成像能力相关。在一示例中,预设截取规则可以设置为:截取深度相机前方2米以内,高于地面且低于机器人视觉高度的点云。通过对点云进行截取,可以生成局域点云。局域点云可以大大减少点云数据的处理量,同时提高点云的质量。局域点云数据包括若干局域点云。Understandably, in order to ensure the accuracy of the static map, the preset interception rule may stipulate that a point cloud within a specified spatial range in front of the depth camera (that is, in front of the robot) is selected. The specified spatial extent is related to the imaging capabilities of the depth camera. In an example, the preset interception rule may be set to: intercept the point cloud within 2 meters in front of the depth camera, which is higher than the ground and lower than the visual height of the robot. By intercepting the point cloud, a local point cloud can be generated. Local point cloud can greatly reduce the processing volume of point cloud data and improve the quality of point cloud at the same time. The local point cloud data includes several local point clouds.
S50、根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系。S50. Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system.
可理解地,局域点云数据转换至全局障碍物地图数据,需要经过投影和坐标系切换的操作。可以先投影再切换坐标系,也可以先切换坐标系再投影。在一示例中,局域点云先在机器人坐标系进行投影,生成局域障碍物地图,然后再基于位姿信息确定的机器人坐标系在世界坐标系的方位,将局域障碍物地图转换为全局障碍物地图。进行投影时,存在点投影的栅格的像素值设置为255,不存在点投影的栅格的像素值设置为0。多个局域点云数据可以生成多个全局障碍物地图。全局障碍物地图数据包括若干全局障碍物地图。Understandably, the conversion of local point cloud data to global obstacle map data requires operations of projection and coordinate system switching. You can project first and then switch the coordinate system, or you can switch the coordinate system first and then project. In an example, the local point cloud is first projected on the robot coordinate system to generate a local obstacle map, and then based on the orientation of the robot coordinate system in the world coordinate system determined by the pose information, the local obstacle map is converted into Global obstacle map. When projecting, the pixel value of the grid with point projection is set to 255, and the pixel value of the grid without point projection is set to 0. Multiple local point cloud data can generate multiple global obstacle maps. The global obstacle map data includes several global obstacle maps.
S60、根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。S60. Update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
可理解地,全局障碍物地图数据包括若干全局障碍物地图。可以按照时间顺序,使用各帧全局障碍物地图对初始静态地图进行更新。在一示例中,如图2所示,未更新过的初始静态地图为像素值为0的栅格地图。可 以基于全局障碍物地图上栅格的像素值的大小对初始静态地图上对应的栅格的像素值进行更新。例如,若全局障碍物地图上栅格(100,100)的像素值为255,则更新后,初始静态地图上栅格(100,100)的像素值为V 0+V 1;若全局障碍物地图上栅格(100,100)的像素值为0,则更新后,初始静态地图上栅格(100,100)的像素值为V 0-V 2,在此处,V 0为更新前静态地图上栅格(100,100)的像素值,V 1和V 2均为自定义的幅值(正数),可以根据实际需要设置。初始静态地图上栅格的像素值的取值范围为0~255,若更新后的像素值超出该范围,则更新后的像素值设置为0或255。 Understandably, the global obstacle map data includes several global obstacle maps. The initial static map can be updated using the frame-by-frame global obstacle map in chronological order. In an example, as shown in FIG. 2 , the unupdated initial static map is a grid map with a pixel value of 0. The pixel value of the corresponding grid on the initial static map can be updated based on the size of the pixel value of the grid on the global obstacle map. For example, if the pixel value of grid (100,100) on the global obstacle map is 255, after the update, the pixel value of grid (100,100) on the initial static map is V 0 +V 1 ; if the grid on the global obstacle map has a pixel value of V 0 +V 1 ; The pixel value of (100,100) is 0, then after the update, the pixel value of grid (100,100) on the initial static map is V 0 -V 2 , where V 0 is the value of grid (100,100) on the static map before the update. Pixel value, V 1 and V 2 are all self-defined amplitudes (positive numbers), which can be set according to actual needs. The pixel value of the grid on the initial static map ranges from 0 to 255. If the updated pixel value exceeds this range, the updated pixel value is set to 0 or 255.
V 1与V 2分别控制静态地图栅格的像素值增加幅度和衰减幅度。对于动态障碍物,当动态障碍物未离开时,其所在位置对应的栅格的像素值会增加,当动态障碍物离开后,其所在位置对应的栅格的像素值会逐渐衰减,最终为0。因此,在机器人进行建图时,只要保证在动态障碍物离开后,继续在动态障碍物原停留地点采集数据,一般可以消除动态障碍物的干扰。而由于静态障碍物位置不发生变化,其所在位置对应的栅格的像素值不会衰减,因此,静态障碍物所在位置对应的栅格的像素值为较高的值。 V 1 and V 2 respectively control the increase and attenuation of the pixel value of the static map grid. For dynamic obstacles, when the dynamic obstacle does not leave, the pixel value of the grid corresponding to its location will increase. When the dynamic obstacle leaves, the pixel value of the grid corresponding to its location will gradually decay, and finally becomes 0. . Therefore, when the robot is building a map, as long as it is ensured that after the dynamic obstacle leaves, it continues to collect data at the original stop position of the dynamic obstacle, and the interference of the dynamic obstacle can generally be eliminated. However, since the position of the static obstacle does not change, the pixel value of the grid corresponding to the position of the static obstacle will not be attenuated. Therefore, the pixel value of the grid corresponding to the position of the static obstacle is higher.
步骤S10-S60中,获取在同一时间段采集的深度图像数据和位姿数据,以获得生成静态地图的原始数据。根据所述位姿数据确定与所述深度图像数据同步的位姿信息,以确定位姿数据与深度图像数据的关联关系(通过时间关联)。基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据,以将深度图像数据转换为容易处理的三维数据(即点云数据),无需构建三维模型,大大节省计算资源。根据预设截取规则对所述点云数据进行截取,生成局域点云数据,以对点云进行筛选,一方面提高点云的精度,另一方面减少数据处理量。根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系,以将三维数据处理为二维数据。根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图,以生成静态地图。In steps S10-S60, the depth image data and pose data collected in the same time period are acquired to obtain the original data for generating the static map. The pose information synchronized with the depth image data is determined according to the pose data, so as to determine the association relationship (through time association) between the pose data and the depth image data. The depth image data is processed based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system, so as to convert the depth image data into three-dimensional data that is easy to process (ie point cloud data), there is no need to build a 3D model, which greatly saves computing resources. The point cloud data is intercepted according to preset interception rules, and local point cloud data is generated to screen the point cloud. On the one hand, the accuracy of the point cloud is improved, and on the other hand, the amount of data processing is reduced. The global obstacle map data is updated according to the local point cloud data, and the coordinate system of the global obstacle map data is the world coordinate system, so as to process the three-dimensional data into two-dimensional data. The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map, so as to generate a static map.
可选的,步骤S50,即所述根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系,包括:Optionally, step S50, that is, updating the global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system, including:
S501、根据所述局域点云数据更新局域障碍物地图数据,所述局域障碍物地图数据的坐标系为机器人坐标系;S501. Update local obstacle map data according to the local point cloud data, where the coordinate system of the local obstacle map data is a robot coordinate system;
S502、将更新后的局域障碍物地图数据转换为所述全局障碍物地图数据。S502. Convert the updated local obstacle map data into the global obstacle map data.
可理解地,根据局域点云数据更新局域障碍物地图数据,即为将点云中的各个点向机器人坐标的地平面(X轴与Y轴所成平面)投影。当点云中所有点投影完毕,即完成局域障碍物地图数据的更新。进行投影时,局域障碍物地图上,被点云投影的栅格,对应的像素值设置成255,未被点云投影的栅格,对应的像素值保持原有的取值0。如图3所示,图3为处于机器人坐标系的局域障碍物地图。Understandably, updating the local obstacle map data according to the local point cloud data is to project each point in the point cloud to the ground plane of the robot coordinates (the plane formed by the X axis and the Y axis). When all points in the point cloud are projected, the update of the local obstacle map data is completed. During projection, on the local obstacle map, the corresponding pixel value of the grid projected by the point cloud is set to 255, and the corresponding pixel value of the grid not projected by the point cloud remains the original value of 0. As shown in FIG. 3 , FIG. 3 is a local obstacle map in the robot coordinate system.
可以根据位姿信息确定的机器人坐标系在世界坐标系的方位,将更新后的局域障碍物地图数据转换为全局障碍物地图数据。全局障碍物地图数据的坐标系为世界坐标系。如图4所示,图4为处于世界坐标系的全局障碍物地图。The updated local obstacle map data can be converted into global obstacle map data according to the orientation of the robot coordinate system in the world coordinate system determined by the pose information. The coordinate system of the global obstacle map data is the world coordinate system. As shown in FIG. 4 , FIG. 4 is a global obstacle map in the world coordinate system.
可选的,步骤S10之前,即所述获取同步采集的深度图像数据和位姿数据之前,还包括:Optionally, before step S10, that is, before the acquiring the depth image data and pose data that are collected synchronously, the method further includes:
S11、获取建图过程中以预设条件间隔采集到的多个初始位姿数据;S11. Acquire a plurality of initial pose data collected at preset condition intervals during the mapping process;
S12、利用预设回环检测算法对所述多个初始位姿数据进行矫正以获得所述位姿数据。S12. Correct the plurality of initial pose data by using a preset loop closure detection algorithm to obtain the pose data.
可理解地,初始位姿数据为未经矫正的数据。初始位姿数据是机器人进行建图过程时采集的数据。机器人建图可以采用的方法包括但不限于基于激光雷达的建图方法,基于二维码的建图方法。Understandably, the initial pose data is uncorrected data. The initial pose data is the data collected when the robot performs the mapping process. The methods that can be used for robot mapping include, but are not limited to, lidar-based mapping methods and two-dimensional code-based mapping methods.
可选的,为减少计算量,在建图的过程中是以预设条件间隔来采集初始位姿数据的,可选的,该预设条件间隔可以是时间间隔,例如每隔0.5S采集一次,也可以是帧数间隔,例如每隔10帧采集一次,还可以是角度间隔,例如每变化幅度相比上次采集时大于30度时可以采集一次,或者是距离间隔,例如每运行超过0.5m可以采集一次等,这里不做限定。因此在整个建图过程中,会采集得到多个初始位姿数据,例如可以是10个,也可以是20个等等。Optionally, in order to reduce the amount of calculation, the initial pose data is collected at preset condition intervals during the mapping process. Optionally, the preset condition intervals can be time intervals, for example, collected every 0.5S. , it can also be a frame interval, for example, it is collected every 10 frames, it can also be an angle interval, for example, it can be collected once every time the change amplitude is greater than 30 degrees compared with the last collection, or it can be a distance interval, for example, every time the run exceeds 0.5 m can be collected once, etc., which is not limited here. Therefore, during the whole mapping process, multiple initial pose data will be collected, such as 10 or 20, and so on.
一般机器人在建图过程中,有一个回环检测和优化的过程。在推行机器人的过程中,机器人可以根据里程计得到其当前的准确度较低的初始位姿数据。初始位姿数据受传感器或处理算法的影响较大。当机器人推行回到原点时,由于误差的存在,机器人可能认为自身与原点还有较大偏差。通过回环检测功能,可以让机器人明确终点(即原点)的位置信息,通过计算测量值与真实值的偏差,矫正多个初始位姿数据,获得准确性更高的位姿数据,可选的,每一初始位姿数据矫正会形成矫正位姿数据,多个矫正位姿数据组成该位姿数据。Generally, in the process of building a robot, there is a process of loopback detection and optimization. In the process of implementing the robot, the robot can obtain its current low-accuracy initial pose data according to the odometer. The initial pose data is greatly influenced by sensors or processing algorithms. When the robot pushes back to the origin, due to the existence of errors, the robot may think that there is still a large deviation from the origin. Through the loopback detection function, the robot can make clear the position information of the end point (that is, the origin), and correct multiple initial pose data by calculating the deviation between the measured value and the real value, and obtain the pose data with higher accuracy. Optional, Correction of each initial pose data will form corrected pose data, and multiple corrected pose data form the pose data.
可选的,步骤S20,即所述根据所述位姿数据确定与所述深度图像数据同步的位姿信息,包括:Optionally, step S20, that is, determining the pose information synchronized with the depth image data according to the pose data, including:
S201、获取所述深度图像数据的采集时间;S201, acquiring the acquisition time of the depth image data;
S202、判断所述位姿数据是否存在处于所述采集时间的位姿信息;S202, judging whether the pose data has pose information at the collection time;
S203、若所述位姿数据不存在处于所述采集时间的位姿信息,通过插值算法处理所述位姿数据,生成处于所述采集时间的位姿信息,所述处于所述采集时间的位姿信息以及所述位姿数据即为与所述深度图像数据同步的位姿信息。S203. If there is no pose information at the collection time in the pose data, process the pose data through an interpolation algorithm to generate pose information at the collection time, and the position at the collection time The pose information and the pose data are the pose information synchronized with the depth image data.
可理解地,深度图像数据的采集时间,即为各个深度图像的生成时间,可用时间戳表示。也就是说,深度图像数据的采集时间包括了若干深度图像的时间戳。位姿数据包括若干位姿信息。每个位姿信息都有其对应的采集时间。位姿信息的采集时间也可以用时间戳表示。Understandably, the acquisition time of the depth image data, that is, the generation time of each depth image, can be represented by a timestamp. That is, the acquisition time of the depth image data includes timestamps of several depth images. The pose data includes several pose information. Each pose information has its corresponding acquisition time. The collection time of pose information can also be represented by a timestamp.
可以根据深度图像的时间戳在位姿数据查找是否有对应的位姿信息,若存在,则该位姿信息为与深度图像数据同步的位姿信息。若不存在,可以通过插值算法确定深度图像的时间戳所对应的位姿信息。具体可以利用时间关系与采集时间最相邻的位姿数据来生成位于采集时间的位姿数据。Whether there is corresponding pose information in the pose data can be searched according to the timestamp of the depth image. If there is, the pose information is the pose information synchronized with the depth image data. If it does not exist, the pose information corresponding to the timestamp of the depth image can be determined through an interpolation algorithm. Specifically, the pose data at the collection time may be generated by using the pose data whose time relationship is most adjacent to the collection time.
例如,可以获取指定时间戳之前最邻近的矫正位姿数据,指定时间戳之后最邻近的矫正位姿数据,根据两个矫正位姿数据推测指定时间戳的位姿信息,即为与深度图像数据同步的位姿信息。For example, it is possible to obtain the nearest corrected pose data before the specified time stamp, the nearest corrected pose data after the specified time stamp, and infer the pose information of the specified time stamp according to the two corrected pose data, which is the same as the depth image data. Synchronized pose information.
可选的,将处于采集时间的位姿信息以及位姿数据即为与所述深度图像数据同步的位姿信息。其中,选取采集时间对于的位姿数据作为与深度 图像数据同步的位姿信息。Optionally, the pose information and pose data at the acquisition time are the pose information synchronized with the depth image data. Among them, the pose data corresponding to the acquisition time is selected as the pose information synchronized with the depth image data.
可选的,步骤S40,即所述根据预设截取规则对所述点云数据进行截取,生成局域点云数据,包括:Optionally, step S40, that is, intercepting the point cloud data according to a preset interception rule to generate local point cloud data, including:
S401、根据所述位姿信息确定所述机器人的面向位置;S401. Determine the facing position of the robot according to the pose information;
S402、根据所述面向位置确定目标区域,根据所述目标区域从所述点云数据截取出所述局域点云数据,所述目标区域包括所述机器人前方指定距离以内,高于地面且低于机器人视觉高度的感知区域。S402. Determine a target area according to the facing position, and extract the local point cloud data from the point cloud data according to the target area, where the target area includes within a specified distance in front of the robot, higher than the ground and low The perception area at the height of the robot's vision.
可理解地,位姿信息包括了机器人的平面坐标和角度信息,可以通过位姿信息中的角度信息确定机器人的面向位置。在一些情况下,角度信息可以包括平面转动角(水平方向)和/或仰角(垂直方向)。在一示例中,可以定义为,角度为0°,面向位置朝右,角度为180°,面向位置朝左。Understandably, the pose information includes the plane coordinates and angle information of the robot, and the facing position of the robot can be determined through the angle information in the pose information. In some cases, the angle information may include plane rotation angle (horizontal direction) and/or elevation angle (vertical direction). In an example, it can be defined that the angle is 0°, the facing position is rightward, and the angle is 180°, and the facing position is leftward.
通过机器人的面向位置可以确定深度相机的感知区域(即感知范围)。深度相机的感知区域可以是相机的成像区域。而目标区域小于或等于深度相机的感知区域。如图5所示,图5为深度相机感知区域的示意图。图5中,由于点云数据仅分布在RGBD(在此处表示深度相机)感知范围(扇形区域),在使用局域点云数据更新局域障碍物地图数据时,仅需要对RGBD感知范围内的栅格进行更新,对处于RGBD感知盲区不进行更新。The sensing area (ie sensing range) of the depth camera can be determined by the facing position of the robot. The perception area of the depth camera may be the imaging area of the camera. And the target area is less than or equal to the perception area of the depth camera. As shown in FIG. 5 , FIG. 5 is a schematic diagram of the perception area of the depth camera. In Figure 5, since the point cloud data is only distributed in the perceptual range (sector area) of RGBD (representing the depth camera here), when using the local point cloud data to update the local obstacle map data, only the perceptual range of the RGBD is required. The grid is updated, and the RGBD perceptual blind area is not updated.
目标区域包括机器人前方指定距离以内,高于地面且低于机器人视觉高度的感知区域。指定距离可以根据实际需要进行设置。在一示例中,目标区域可以设置为:深度相机前方2米以内,高于地面且低于机器人视觉高度的区域。通过对点云进行截取,可以生成局域点云。局域点云可以大大减少点云数据的处理量,同时提高点云的质量。在此处,局域点云数据包括若干局域点云。The target area includes the perception area within the specified distance in front of the robot, higher than the ground and lower than the robot's visual height. The specified distance can be set according to actual needs. In an example, the target area can be set as an area within 2 meters in front of the depth camera, higher than the ground and lower than the vision height of the robot. By intercepting the point cloud, a local point cloud can be generated. Local point cloud can greatly reduce the processing volume of point cloud data and improve the quality of point cloud at the same time. Here, the local point cloud data includes several local point clouds.
可选的,步骤S501,即所述根据所述局域点云数据更新局域障碍物地图数据,所述局域障碍物地图数据的坐标系为机器人坐标系,包括:Optionally, step S501, that is, updating the local obstacle map data according to the local point cloud data, where the coordinate system of the local obstacle map data is a robot coordinate system, including:
S5011、将所述局域点云数据向处于地平面的局域障碍物地图进行投影,将存在点投影的栅格的像素值设置为指定像素值;S5011, project the local point cloud data to the local obstacle map on the ground plane, and set the pixel value of the grid where the point projection exists as the specified pixel value;
S5012、在所述局域点云数据中所有点完成投影后,完成所述局域障碍物地图数据的更新。S5012. After all points in the local point cloud data are projected, complete the update of the local obstacle map data.
可理解地,可以将点云中的各个点向机器人坐标的地平面(X轴与Y轴所成平面)投影。当点云中所有点投影完毕,即完成局域障碍物地图数据的更新。进行投影时,局域障碍物地图上,被点云投影的栅格,对应的像素值设置成255,未被点云投影的栅格,对应的像素值保持原有的取值0。如图3所示,图3为处于机器人坐标系的局域障碍物地图。Understandably, each point in the point cloud can be projected to the ground plane of the robot coordinates (the plane formed by the X axis and the Y axis). When all points in the point cloud are projected, the update of the local obstacle map data is completed. During projection, on the local obstacle map, the corresponding pixel value of the grid projected by the point cloud is set to 255, and the corresponding pixel value of the grid not projected by the point cloud remains the original value of 0. As shown in FIG. 3 , FIG. 3 is a local obstacle map in the robot coordinate system.
可选的,步骤S60,即所述根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图,包括:Optionally, in step S60, the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map, including:
S601、若所述全局障碍物地图数据中的第一指定栅格的像素值大于0,将第一静态栅格的像素值增加第一预设幅值,且增加所述第一预设幅值后的所述第一静态栅格的像素值不大于255,所述第一静态栅格为所述初始静态地图中与所述第一指定栅格对应的栅格;S601. If the pixel value of the first specified grid in the global obstacle map data is greater than 0, increase the pixel value of the first static grid by a first preset amplitude, and increase the first preset amplitude The pixel value of the subsequent first static grid is not greater than 255, and the first static grid is the grid corresponding to the first specified grid in the initial static map;
S602、若所述全局障碍物地图数据中的第二指定栅格的像素值为0,将第二静态栅格的像素值减少第二预设幅值,且减少所述第二预设幅值后的所述第二静态栅格的像素值不小于0,所述第二静态栅格为所述初始静态地图中与所述第二指定栅格对应的栅格。S602. If the pixel value of the second specified grid in the global obstacle map data is 0, reduce the pixel value of the second static grid by a second preset amplitude, and reduce the second preset amplitude The pixel value of the subsequent second static grid is not less than 0, and the second static grid is a grid corresponding to the second specified grid in the initial static map.
可理解地,可以按照时间顺序,将全局障碍物地图数据中的多个全局障碍物地图逐帧对初始静态地图进行更新。当所有全局障碍物地图更新完毕,即可获得静态地图。静态地图中,无障碍物处栅格的像素值为0,表现为黑色,有障碍物处栅格的像素值大于0。像素值越大,表示障碍物存在的概率越高。因而,存在障碍物的栅格在静态地图表现为灰色或白色。Understandably, the initial static map may be updated frame by frame among multiple global obstacle maps in the global obstacle map data in chronological order. A static map is available when all global obstacle maps are updated. In the static map, the pixel value of the grid without obstacles is 0, which is black, and the pixel value of the grid with obstacles is greater than 0. The larger the pixel value, the higher the probability that the obstacle exists. Thus, grids with obstacles appear gray or white on the static map.
根据全局障碍物地图对初始静态地图进行更新时,若全局障碍物地图中的第一指定栅格的像素值大于0(一般为255),将第一静态栅格的像素值增加第一预设幅值,且增加第一预设幅值后的第一静态栅格的像素值不大于255,第一静态栅格为初始静态地图中与第一指定栅格对应的栅格。第一预设幅值为正数,可以根据实际需要设置。第一预设幅值的大小,与每秒钟全局障碍物地图的帧数成反比,与变亮时间(像素值从0持续增长到255的时间)成反比。When the initial static map is updated according to the global obstacle map, if the pixel value of the first specified grid in the global obstacle map is greater than 0 (usually 255), the pixel value of the first static grid is increased by the first preset value. and the pixel value of the first static grid after increasing the first preset amplitude value is not greater than 255, and the first static grid is the grid corresponding to the first specified grid in the initial static map. The first preset amplitude is a positive number, which can be set according to actual needs. The size of the first preset amplitude is inversely proportional to the number of frames of the global obstacle map per second, and inversely proportional to the brightening time (the time for the pixel value to continuously increase from 0 to 255).
若全局障碍物地图数据中的第二指定栅格的像素值为0,将第二静态栅格的像素值减少第二预设幅值,且减少第二预设幅值后的第二静态栅格 的像素值不小于0,第二静态栅格为初始静态地图中与第二指定栅格对应的栅格。第二预设幅值为正数,可以根据实际需要设置。第二预设幅值的大小,与每秒钟全局障碍物地图的帧数成反比,与衰减时间(像素值从255持续减少到0的时间)成反比。If the pixel value of the second specified grid in the global obstacle map data is 0, reduce the pixel value of the second static grid by a second preset amplitude, and reduce the second static grid by the second preset amplitude. The pixel value of the grid is not less than 0, and the second static grid is the grid corresponding to the second specified grid in the initial static map. The second preset amplitude is a positive number, which can be set according to actual needs. The size of the second preset amplitude is inversely proportional to the number of frames of the global obstacle map per second, and inversely proportional to the decay time (the time for the pixel value to continuously decrease from 255 to 0).
在一示例中,如图6所示,图6中第一行图像为四个不同时刻的局域障碍物地图,第二行图像为四个不同时刻的初始静态地图。其中,白色箭头指向位置为机器人在对应时刻(T=0-3)的实际位置。机器人感知范围为前方±90度,沿X轴方向向前行驶,机器人前方有一L形的静态障碍物和一点状的动态障碍物,该动态障碍物也沿X轴方向向前行驶。以下为4个时刻初始静态地图的更新过程。In an example, as shown in FIG. 6 , the first row of images in FIG. 6 is a local obstacle map at four different times, and the second row of images is an initial static map at four different times. Among them, the position pointed by the white arrow is the actual position of the robot at the corresponding moment (T=0-3). The perception range of the robot is ±90 degrees in front, and it drives forward along the X-axis direction. There is an L-shaped static obstacle and a point-shaped dynamic obstacle in front of the robot, and the dynamic obstacle also travels forward along the X-axis direction. The following is the update process of the initial static map at 4 moments.
T=0时刻,机器人观察到前方L形和点形障碍物(图6左一上),将其转到世界坐标系下,生成相应的全局障碍物地图(图6中未示出,可参考图3和图4),相应的位置栅格值开始增加V 1(图6左一下)。 At time T=0, the robot observes the L-shaped and point-shaped obstacles ahead (the upper left in Figure 6), and transfers it to the world coordinate system to generate the corresponding global obstacle map (not shown in Figure 6, for reference Figure 3 and Figure 4), the corresponding position grid value begins to increase V 1 (Figure 6 bottom left).
T=1时刻,机器人向前运动了一个栅格,动态障碍物也向前运动了一个栅格(图6左二上)。由于在新的位置观察到动态障碍物,将该位置对应的栅格值增加V 1,而上一帧动态障碍物所在的位置没有观察到物体,该位置对应的栅格值衰减V 2,即变暗。对L形静态障碍物,由于其所在位置与上一帧相同,因此,其所在位置栅格值继续增加V 1,即变亮(图6左二下)。 At the moment of T=1, the robot moves forward by a grid, and the dynamic obstacle also moves forward by a grid (the second upper left of Figure 6). Since a dynamic obstacle is observed at the new position, the grid value corresponding to this position is increased by V 1 , but no object was observed at the position where the dynamic obstacle was located in the previous frame, and the grid value corresponding to this position is attenuated by V 2 , namely darken. For an L-shaped static obstacle, since its location is the same as the previous frame, the grid value of its location continues to increase by V 1 , that is, it becomes brighter (the second lower left in Figure 6 ).
T=2时刻,机器人继续向前运动了一个栅格,动态障碍物也继续向前运动了一个栅格(图6右二上)。由于在新的位置观察到动态障碍物,将该位置对应的栅格值增加V 1,而上两帧动态障碍物所在的位置没有观察到物体,对应的栅格值衰减V 2,即变暗。对L形静态障碍物,由于其所在位置与上一帧相同,因此,其所在位置栅格值继续增加V 1,即变亮(图6右二下)。 At time T=2, the robot continues to move forward by a grid, and the dynamic obstacle also continues to move forward by a grid (the second upper right in Figure 6). Since a dynamic obstacle is observed at the new position, the grid value corresponding to this position is increased by V 1 , but no object is observed at the position where the dynamic obstacle is located in the previous two frames, and the corresponding grid value is attenuated by V 2 , that is, it becomes darker . For an L-shaped static obstacle, since its location is the same as the previous frame, the grid value of its location continues to increase by V 1 , that is, it becomes brighter (the second bottom right of Figure 6 ).
T=3时刻,机器人继续向前运动了一个栅格,动态障碍物也继续向前运动了一个栅格(图6右一上)。由于在新的位置观察到动态障碍物,将该位置对应的栅格值增加V 1,而上三帧动态障碍物所在的位置没有观察到物体,对应的栅格值衰减V 2,即变暗,而T=0时刻动态障碍物所在位置的栅格值已经衰减至0,即与背景相同。对L形静态障碍物,其最左端部分已 经进入到机器人盲区,该栅格值不再更新,而其余部分仍在机器人感知范围内,且位置与上一帧相同,因此,其所在位置栅格值继续增加V 1,即变亮(图6右一下)。 At time T=3, the robot continues to move forward by a grid, and the dynamic obstacle also continues to move forward by a grid (the upper right of Figure 6). Since a dynamic obstacle is observed at the new position, the grid value corresponding to this position is increased by V 1 , but no object is observed at the position where the dynamic obstacle is located in the previous three frames, and the corresponding grid value is attenuated by V 2 , that is, it becomes darker , and the grid value of the position of the dynamic obstacle at T=0 has decayed to 0, that is, it is the same as the background. For the L-shaped static obstacle, its leftmost part has entered the blind spot of the robot, the grid value is no longer updated, and the rest is still within the robot's perception range, and its position is the same as the previous frame, so its location grid The value continues to increase V 1 , i.e. it becomes brighter (lower right in Figure 6).
可选的,步骤S60之后,即所述根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图之后,还包括:Optionally, after step S60, that is, after the initial static map is updated according to the global obstacle map data, the updated initial static map is the static map, and further includes:
S61、获取码图数据;S61. Obtain code map data;
S62、根据所述码图数据和所述静态地图生成机器人的拓扑路径。S62. Generate a topology path of the robot according to the code map data and the static map.
可理解地,码图数据可以指在机器人建图的过程中采集的视觉标志识别数据。在机器人建图前,在机器人推行路径上粘贴若干视觉标志(marker)(一般粘贴在天花板上)。码图数据可以确定机器人的位置。而静态地图则包含了障碍物信息。根据码图数据和静态地图可以规划机器人的可行路径,即为拓扑路径。Understandably, the code map data may refer to the visual sign recognition data collected during the process of the robot's map building. Before the robot builds a map, a number of visual markers (generally pasted on the ceiling) are pasted on the robot's driving path. The code map data can determine the position of the robot. The static map contains obstacle information. According to the code map data and static map, the feasible path of the robot can be planned, that is, the topology path.
可选地,码图数据即机器人根据二维码等进行建图形成的地图,该地图是不考虑障碍物信息的,因此如果仅仅基于该地图进行拓扑路径会导致机器人在进行运行时,不会提前考虑到障碍物的影响(而在快监测到时才会即时性的避让,会影响到整个避让的时间和路径),从而影响运行效果。本申请通过构建静态地图,并利用静态地图中的障碍物信息与码图数据一起形成拓扑路径,即在开始规划拓扑路径的时,就将障碍物信息考虑进去,从而使得机器人在运行过程中,会提前考虑到障碍物,即预先提供避让方式,从而生产完整的一个避让路径,从而有效的提高运行效果。Optionally, the code map data is the map formed by the robot based on the two-dimensional code, etc. The map does not consider the obstacle information, so if the topological path is only based on the map, the robot will not be able to run the map. The impact of obstacles is considered in advance (and the immediate avoidance will only be performed when it is detected soon, which will affect the entire avoidance time and path), thereby affecting the operation effect. The present application constructs a static map, and uses the obstacle information in the static map to form a topological path together with the code map data, that is, when planning the topological path, the obstacle information is taken into account, so that the robot can be Obstacles will be considered in advance, that is, the avoidance method will be provided in advance, so as to produce a complete avoidance path, thereby effectively improving the operation effect.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the steps in the above embodiments does not mean the sequence of execution, and the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
在一实施例中,提供一种静态地图生成装置,该静态地图生成装置与上述实施例中静态地图生成方法一一对应。如图7所示,该静态地图生成装置包括获取数据模块10、确定同步位姿信息模块20、生成点云模块30、点云截取模块40、障碍物地图更新模块50和静态地图更新模块60。各功能模块详细说明如下:In one embodiment, an apparatus for generating a static map is provided, and the apparatus for generating a static map is in one-to-one correspondence with the method for generating a static map in the above-mentioned embodiment. As shown in FIG. 7 , the static map generation device includes a data acquisition module 10 , a synchronized pose information determination module 20 , a point cloud generation module 30 , a point cloud interception module 40 , an obstacle map update module 50 and a static map update module 60 . The detailed description of each functional module is as follows:
获取数据模块10,用于获取在同一时间段采集的深度图像数据和位姿数据;an acquisition data module 10 for acquiring depth image data and pose data collected in the same time period;
确定同步位姿信息模块20,用于根据所述位姿数据确定与所述深度图像数据同步的位姿信息;a synchronous pose information determining module 20, configured to determine pose information synchronized with the depth image data according to the pose data;
生成点云模块30,用于基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;A point cloud generating module 30 is configured to process the depth image data based on the pose information and the installation position corresponding to the depth image data, and generate point cloud data in the robot coordinate system;
点云截取模块40,用于根据预设截取规则对所述点云数据进行截取,生成局域点云数据;A point cloud interception module 40, configured to intercept the point cloud data according to a preset interception rule to generate local point cloud data;
障碍物地图更新模块50,用于根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;an obstacle map update module 50, configured to update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
静态地图更新模块60,用于根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The static map updating module 60 is configured to update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
可选的,障碍物地图更新模块50包括:Optionally, the obstacle map update module 50 includes:
局域地图更新单元,用于根据所述局域点云数据更新局域障碍物地图数据,所述局域障碍物地图数据的坐标系为机器人坐标系;a local map update unit, configured to update local obstacle map data according to the local point cloud data, where the coordinate system of the local obstacle map data is a robot coordinate system;
全局地图转换单元,用于将更新后的局域障碍物地图数据转换为所述全局障碍物地图数据。A global map conversion unit, configured to convert the updated local obstacle map data into the global obstacle map data.
可选的,静态地图生成装置还包括:Optionally, the static map generating apparatus further includes:
获取初始数据模块,用于获取包含若干矫正位姿数据的初始位姿数据;an initial data acquisition module for acquiring initial pose data including several corrected pose data;
数据校正模块,用于根据所述矫正位姿数据对所述初始位姿数据矫正,生成所述位姿数据。A data correction module, configured to correct the initial pose data according to the corrected pose data to generate the pose data.
可选的,确定同步位姿信息模块20包括:Optionally, the determining synchronization pose information module 20 includes:
获取采集时间单元,用于获取所述深度图像数据的采集时间;an acquisition time unit for acquiring the acquisition time of the depth image data;
判断位姿信息单元,用于判断所述位姿数据是否存在处于所述采集时间的位姿信息;a pose information unit for determining whether the pose data has pose information at the collection time;
生成位姿信息单元,用于若所述位姿数据不存在处于所述采集时间的位姿信息,通过插值算法处理所述位姿数据,生成处于所述采集时间的位姿信息,所述处于所述采集时间的位姿信息即为与所述深度图像数据同步 的位姿信息。A pose information generating unit is used for, if the pose data does not have pose information at the collection time, process the pose data through an interpolation algorithm to generate pose information at the collection time, and the pose data at the collection time is generated. The pose information at the acquisition time is the pose information synchronized with the depth image data.
可选的,点云截取模块40包括:Optionally, the point cloud interception module 40 includes:
确定面向单元,用于根据所述位姿信息确定所述机器人的面向位置;determining a facing unit for determining the facing position of the robot according to the pose information;
点云截取单元,用于根据所述面向位置确定目标区域,根据所述目标区域从所述点云数据截取出所述局域点云数据,所述目标区域包括所述机器人前方指定距离以内,高于地面且低于机器人视觉高度的感知区域。a point cloud intercepting unit, configured to determine a target area according to the facing position, and extract the local point cloud data from the point cloud data according to the target area, and the target area includes within a specified distance in front of the robot, The perception area that is above the ground and below the robot's visual height.
可选的,局域地图更新单元包括:Optionally, the local map update unit includes:
投影单元,用于将所述局域点云数据向处于地平面的局域障碍物地图进行投影,将存在点投影的栅格的像素值设置为指定像素值;a projection unit, used to project the local point cloud data to the local obstacle map on the ground plane, and set the pixel value of the grid where the point projection exists as the specified pixel value;
完成局域地图更新单元,用于在所述局域点云数据中所有点完成投影后,完成所述局域障碍物地图数据的更新。The completion of the local map update unit is used to complete the update of the local obstacle map data after all points in the local point cloud data are projected.
可选的,静态地图更新模块60包括:Optionally, the static map update module 60 includes:
第一更新单元,用于若所述全局障碍物地图数据中的第一指定栅格的像素值大于0,将第一静态栅格的像素值增加第一预设幅值,且增加所述第一预设幅值后的所述第一静态栅格的像素值不大于255,所述第一静态栅格为所述初始静态地图中与所述第一指定栅格对应的栅格;A first update unit, configured to increase the pixel value of the first static grid by a first preset amplitude if the pixel value of the first specified grid in the global obstacle map data is greater than 0, and increase the pixel value of the first specified grid The pixel value of the first static grid after a preset amplitude is not greater than 255, and the first static grid is the grid corresponding to the first designated grid in the initial static map;
第二更新单元,用于若所述全局障碍物地图数据中的第二指定栅格的像素值为0,将第二静态栅格的像素值减少第二预设幅值,且减少所述第二预设幅值后的所述第二静态栅格的像素值不小于0,所述第二静态栅格为所述初始静态地图中与所述第二指定栅格对应的栅格。The second updating unit is configured to reduce the pixel value of the second static grid by a second preset magnitude if the pixel value of the second specified grid in the global obstacle map data is 0, and decrease the pixel value of the first grid. The pixel value of the second static grid after two preset amplitudes is not less than 0, and the second static grid is a grid corresponding to the second specified grid in the initial static map.
可选的,静态地图生成装置还包括:Optionally, the static map generating apparatus further includes:
获取码图数据模块,用于获取码图数据;Get the code map data module, which is used to obtain the code map data;
生成拓扑路径模块,用于根据所述码图数据和所述静态地图生成机器人的拓扑路径。A topological path generating module is configured to generate a topological path of the robot according to the code map data and the static map.
关于静态地图生成装置的具体限定可以参见上文中对于静态地图生成方法的限定,在此不再赘述。上述静态地图生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。For specific limitations on the static map generating apparatus, please refer to the limitations on the static map generating method above, which will not be repeated here. Each module in the above-mentioned static map generating apparatus may be implemented in whole or in part by software, hardware and combinations thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种静态地图生成方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。In one embodiment, a computer device is provided, and the computer device may be a terminal, and its internal structure diagram may be as shown in FIG. 8 . The computer equipment includes a processor, memory, a network interface, a display screen, and an input device connected by a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a readable storage medium, an internal memory. The non-volatile storage medium stores an operating system and computer-readable instructions. The internal memory provides an environment for the execution of the operating system and computer-readable instructions in the readable storage medium. The network interface of the computer device is used to communicate with an external server over a network connection. The computer readable instructions, when executed by a processor, implement a static map generation method. The readable storage medium provided in this embodiment includes a non-volatile readable storage medium and a volatile readable storage medium.
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:In one embodiment, a computer device is provided, comprising a memory, a processor, and computer-readable instructions stored on the memory and executable on the processor, and the processor implements the following steps when executing the computer-readable instructions:
获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:In one embodiment, one or more computer-readable storage media storing computer-readable instructions are provided, and the readable storage media provided in this embodiment include non-volatile readable storage media and volatile readable storage media storage medium. Computer-readable instructions are stored on the readable storage medium, and when the computer-readable instructions are executed by one or more processors, implement the following steps:
获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing the relevant hardware through computer-readable instructions, and the computer-readable instructions can be stored in a non-volatile computer. In the read storage medium or the volatile readable storage medium, the computer-readable instructions, when executed, may include the processes of the foregoing method embodiments. Wherein, any reference to memory, storage, database or other medium used in the various embodiments provided in this application may include non-volatile and/or volatile memory. Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Road (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated to different functional units, Module completion, that is, dividing the internal structure of the device into different functional units or modules to complete all or part of the functions described above.
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above-described embodiments can be combined arbitrarily. For the sake of brevity, all possible combinations of the technical features in the above-described embodiments are not described. However, as long as there is no contradiction between the combinations of these technical features, All should be regarded as the scope described in this specification.
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做 出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。The above-mentioned embodiments only represent several embodiments of the present application, and the descriptions thereof are relatively specific and detailed, but should not be construed as a limitation on the scope of the patent application. It should be pointed out that for those of ordinary skill in the art, without departing from the concept of the application, some modifications and improvements can also be made, which all belong to the protection scope of the application. Therefore, the scope of protection of the patent of the present application shall be subject to the appended claims.

Claims (19)

  1. 一种静态地图生成方法,其特征在于,包括:A method for generating a static map, comprising:
    获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
    根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
    基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
    根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
    根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
    根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  2. 如权利要求1所述的静态地图生成方法,其特征在于,所述根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系,包括:The method for generating a static map according to claim 1, wherein the updating of the global obstacle map data according to the local point cloud data, wherein the coordinate system of the global obstacle map data is a world coordinate system, comprising:
    根据所述局域点云数据更新局域障碍物地图数据,所述局域障碍物地图数据的坐标系为机器人坐标系;Update local obstacle map data according to the local point cloud data, and the coordinate system of the local obstacle map data is the robot coordinate system;
    将更新后的局域障碍物地图数据转换为所述全局障碍物地图数据。Convert the updated local obstacle map data into the global obstacle map data.
  3. 如权利要求1所述的静态地图生成方法,其特征在于,所述获取同步采集的深度图像数据和位姿数据之前,还包括:The method for generating a static map according to claim 1, wherein before acquiring the depth image data and pose data collected synchronously, the method further comprises:
    获取建图过程中以预设条件间隔采集到的多个初始位姿数据;Acquire multiple initial pose data collected at preset condition intervals during the mapping process;
    利用预设回环检测算法对所述多个初始位姿数据进行矫正以获得所述位姿数据。The plurality of initial pose data are corrected by using a preset loop closure detection algorithm to obtain the pose data.
  4. 如权利要求3所述的静态地图生成方法,其特征在于,所述预设条件间隔为时间间隔、帧数间隔或角度间隔。The method for generating a static map according to claim 3, wherein the preset condition interval is a time interval, a frame number interval or an angle interval.
  5. 如权利要求1所述的静态地图生成方法,其特征在于,所述根据所述位姿数据确定与所述深度图像数据同步的位姿信息,包括:The method for generating a static map according to claim 1, wherein the determining the pose information synchronized with the depth image data according to the pose data comprises:
    获取所述深度图像数据的采集时间;obtaining the acquisition time of the depth image data;
    判断所述位姿数据是否存在处于所述采集时间的位姿信息;judging whether the pose data has pose information at the collection time;
    若所述位姿数据不存在处于所述采集时间的位姿信息,通过插值算法 处理所述位姿数据,生成处于所述采集时间的位姿信息,所述处于所述采集时间的位姿信息以及所述位姿数据即为与所述深度图像数据同步的位姿信息。If the pose data does not have the pose information at the collection time, the pose data is processed through an interpolation algorithm to generate the pose information at the collection time, and the pose information at the collection time is generated. And the pose data is the pose information synchronized with the depth image data.
  6. 根据权利要求5所述的静态地图生成方法,其特征在于,所述通过插值算法处理所述位姿数据,生成处于所述采集时间的位姿信息,包括:The method for generating a static map according to claim 5, wherein the processing of the pose data through an interpolation algorithm to generate the pose information at the collection time comprises:
    利用时间关系与所述采集时间最相邻的所述位姿数据来生成位于所述采集时间的位姿信息。The pose information at the collection time is generated using the pose data whose temporal relationship is most adjacent to the collection time.
  7. 如权利要求6所述的静态地图生成方法,其特征在于,所述利用时间关系与所述采集时间最相邻的所述位姿数据来生成位于所述采集时间的位姿信息包括:The method for generating a static map according to claim 6, wherein the generating the pose information at the collection time by using the pose data whose time relationship is most adjacent to the collection time comprises:
    获取指定时间戳之前最邻近的矫正位姿数据,以及所述指定时间戳之后最邻近的矫正位姿数据,根据两个所述矫正位姿数据推测所述指定时间戳的位姿信息。Obtain the nearest corrected pose data before the specified time stamp and the nearest corrected pose data after the specified time stamp, and infer the pose information of the specified time stamp according to the two corrected pose data.
  8. 如权利要求1所述的静态地图生成方法,其特征在于,所述根据预设截取规则对所述点云数据进行截取,生成局域点云数据,包括:The method for generating a static map according to claim 1, wherein the intercepting the point cloud data according to a preset interception rule to generate local point cloud data, comprising:
    根据所述位姿信息确定所述机器人的面向位置;Determine the facing position of the robot according to the pose information;
    根据所述面向位置确定目标区域,根据所述目标区域从所述点云数据截取出所述局域点云数据,所述目标区域包括所述机器人前方指定距离以内,高于地面且低于机器人视觉高度的感知区域。Determine the target area according to the facing position, and extract the local point cloud data from the point cloud data according to the target area. The target area includes within a specified distance in front of the robot, higher than the ground and lower than the robot Perceptual area of visual height.
  9. 如权利要求2所述的静态地图生成方法,其特征在于,所述根据所述局域点云数据更新局域障碍物地图数据,所述局域障碍物地图数据的坐标系为机器人坐标系,包括:The method for generating a static map according to claim 2, wherein the local obstacle map data is updated according to the local point cloud data, and the coordinate system of the local obstacle map data is a robot coordinate system, include:
    将所述局域点云数据向处于地平面的局域障碍物地图进行投影,将存在点投影的栅格的像素值设置为指定像素值;Projecting the local point cloud data to the local obstacle map on the ground plane, and setting the pixel value of the grid with the point projection to the specified pixel value;
    在所述局域点云数据中所有点完成投影后,完成所述局域障碍物地图数据的更新。After all points in the local point cloud data are projected, the update of the local obstacle map data is completed.
  10. 如权利要求9所述的静态地图生成方法,其特征在于,所述将所述局域点云数据向处于地平面的局域障碍物地图进行投影,将存在点投影的栅格的像素值设置为指定像素值的过程为:The method for generating a static map according to claim 9, wherein the projecting the local point cloud data to the local obstacle map on the ground plane, and setting the pixel value of the grid where the point projection exists. The process for specifying pixel values is:
    进行投影时,所述局域障碍物地图上被点云投影的栅格,对应的像素值设置成255;未被点云投影的栅格,对应的像素值保持原有的取值0。During projection, the corresponding pixel value of the grid projected by the point cloud on the local obstacle map is set to 255; the corresponding pixel value of the grid not projected by the point cloud remains the original value of 0.
  11. 如权利要求1所述的静态地图生成方法,其特征在于,所述根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图,包括:The method for generating a static map according to claim 1, wherein the initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map, comprising:
    若所述全局障碍物地图数据中的第一指定栅格的像素值大于0,将第一静态栅格的像素值增加第一预设幅值,且增加所述第一预设幅值后的所述第一静态栅格的像素值不大于255,所述第一静态栅格为所述初始静态地图中与所述第一指定栅格对应的栅格;If the pixel value of the first specified grid in the global obstacle map data is greater than 0, increase the pixel value of the first static grid by a first preset amplitude, and increase the pixel value of the first preset amplitude. The pixel value of the first static grid is not greater than 255, and the first static grid is the grid corresponding to the first specified grid in the initial static map;
    若所述全局障碍物地图数据中的第二指定栅格的像素值为0,将第二静态栅格的像素值减少第二预设幅值,且减少所述第二预设幅值后的所述第二静态栅格的像素值不小于0,所述第二静态栅格为所述初始静态地图中与所述第二指定栅格对应的栅格。If the pixel value of the second specified grid in the global obstacle map data is 0, reduce the pixel value of the second static grid by a second preset amplitude, and reduce the pixel value of the second preset amplitude. The pixel value of the second static grid is not less than 0, and the second static grid is a grid corresponding to the second specified grid in the initial static map.
  12. 如权利要求1所述的静态地图生成方法,其特征在于,所述根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图之后,还包括:The method for generating a static map according to claim 1, wherein the updating of the initial static map according to the global obstacle map data, and the updated initial static map is the static map, further comprising:
    获取码图数据;Get code map data;
    根据所述码图数据和所述静态地图生成机器人的拓扑路径。A topological path of the robot is generated according to the code map data and the static map.
  13. 如权利要求12所述的静态地图生成方法,其特征在于,所述码图数据为在所述机器人建图的过程中采集的视觉标志识别数据。The method for generating a static map according to claim 12, wherein the code map data is visual sign recognition data collected during the process of building a map by the robot.
  14. 如权利要求12所述的静态地图生成方法,其特征在于,所述静态地图包括障碍物信息。The method for generating a static map according to claim 12, wherein the static map includes obstacle information.
  15. 如权利要求1所述的静态地图生成方法,其特征在于,所述深度图像数据包括若干帧深度图像,每帧所述深度图像标记有其采集时间所对应的时间戳。The method for generating a static map according to claim 1, wherein the depth image data comprises several frames of depth images, and each frame of the depth images is marked with a timestamp corresponding to the acquisition time.
  16. 如权利要求1所述的静态地图生成方法,其特征在于,所述位子数据包括若干个位姿信息,所述位姿信息包括平面坐标和角度,每个所述位姿信息具有与其对应的采集时间。The method for generating a static map according to claim 1, wherein the position data includes several pieces of pose information, the pose information includes plane coordinates and angles, and each of the pose information has a corresponding collection time.
  17. 一种静态地图生成装置,其特征在于,包括:A static map generating device, comprising:
    获取数据模块,用于获取在同一时间段采集的深度图像数据和位姿数据;The data acquisition module is used to acquire the depth image data and pose data collected in the same time period;
    确定同步位姿信息模块,用于根据所述位姿数据确定与所述深度图像数据同步的位姿信息;a synchronous pose information determining module, configured to determine pose information synchronized with the depth image data according to the pose data;
    生成点云模块,用于基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;a point cloud generation module, configured to process the depth image data based on the pose information and the installation position corresponding to the depth image data, to generate point cloud data in the robot coordinate system;
    点云截取模块,用于根据预设截取规则对所述点云数据进行截取,生成局域点云数据;a point cloud interception module, configured to intercept the point cloud data according to a preset interception rule to generate local point cloud data;
    障碍物地图更新模块,用于根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;an obstacle map update module, configured to update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
    静态地图更新模块,用于根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The static map update module is used to update the initial static map according to the global obstacle map data, and the updated initial static map is the static map.
  18. 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下静态地图生成方法:A computer device, comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor implements the following when executing the computer-readable instructions Static map generation method:
    获取在同一时间段采集的深度图像数据和位姿数据;Obtain the depth image data and pose data collected in the same time period;
    根据所述位姿数据确定与所述深度图像数据同步的位姿信息;Determine the pose information synchronized with the depth image data according to the pose data;
    基于所述位姿信息和与所述深度图像数据对应的安装位置对所述深度图像数据进行处理,生成机器人坐标系中的点云数据;processing the depth image data based on the pose information and the installation position corresponding to the depth image data to generate point cloud data in the robot coordinate system;
    根据预设截取规则对所述点云数据进行截取,生成局域点云数据;intercepting the point cloud data according to a preset interception rule to generate local point cloud data;
    根据所述局域点云数据更新全局障碍物地图数据,所述全局障碍物地图数据的坐标系为世界坐标系;Update global obstacle map data according to the local point cloud data, where the coordinate system of the global obstacle map data is the world coordinate system;
    根据所述全局障碍物地图数据对初始静态地图进行更新,更新完毕的所述初始静态地图即为静态地图。The initial static map is updated according to the global obstacle map data, and the updated initial static map is a static map.
  19. 一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至16中任一项所述静态地图生成方法。One or more readable storage media storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform any of the methods of claims 1 to 16. One of the static map generation methods.
PCT/CN2021/137379 2020-12-31 2021-12-13 Static map generation method and apparatus, and computer device and storage medium WO2022143114A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011640136.0A CN112799095B (en) 2020-12-31 2020-12-31 Static map generation method and device, computer equipment and storage medium
CN202011640136.0 2020-12-31

Publications (1)

Publication Number Publication Date
WO2022143114A1 true WO2022143114A1 (en) 2022-07-07

Family

ID=75809087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/137379 WO2022143114A1 (en) 2020-12-31 2021-12-13 Static map generation method and apparatus, and computer device and storage medium

Country Status (2)

Country Link
CN (1) CN112799095B (en)
WO (1) WO2022143114A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114353779A (en) * 2021-09-30 2022-04-15 南京晨光集团有限责任公司 Method for rapidly updating local cost map of robot by point cloud projection
CN115683109A (en) * 2022-10-19 2023-02-03 北京理工大学 Visual dynamic barrier detection method based on CUDA and three-dimensional grid map
CN116010725A (en) * 2023-03-23 2023-04-25 北京白龙马云行科技有限公司 Map point location set dynamic display method, device, computer equipment and medium
CN116051775A (en) * 2023-03-06 2023-05-02 超节点创新科技(深圳)有限公司 Semantic map construction method, mobile robot and storage medium
CN116588573A (en) * 2023-04-28 2023-08-15 北京云中未来科技有限公司 Bulk cargo grabbing control method and system of intelligent warehouse lifting system
CN115683109B (en) * 2022-10-19 2024-05-17 北京理工大学 Visual dynamic obstacle detection method based on CUDA and three-dimensional grid map

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799095B (en) * 2020-12-31 2023-03-14 深圳市普渡科技有限公司 Static map generation method and device, computer equipment and storage medium
CN113313765B (en) * 2021-05-28 2023-12-01 上海高仙自动化科技发展有限公司 Positioning method, positioning device, electronic equipment and storage medium
CN113313764B (en) * 2021-05-28 2023-08-29 上海高仙自动化科技发展有限公司 Positioning method, positioning device, electronic equipment and storage medium
CN113703001A (en) * 2021-08-30 2021-11-26 上海景吾智能科技有限公司 Method, system and medium for generating obstacles on existing map of robot
CN113776517A (en) * 2021-09-03 2021-12-10 Oppo广东移动通信有限公司 Map generation method, device, system, storage medium and electronic equipment
CN114322990B (en) * 2021-12-30 2024-04-19 杭州海康机器人股份有限公司 Acquisition method and device for data for constructing mobile robot map
CN114577216A (en) * 2022-03-31 2022-06-03 美智纵横科技有限责任公司 Navigation map construction method and device, robot and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052721B1 (en) * 2012-08-28 2015-06-09 Google Inc. Method for correcting alignment of vehicle mounted laser scans with an elevation map for obstacle detection
CN108290294A (en) * 2015-11-26 2018-07-17 三星电子株式会社 Mobile robot and its control method
CN109558471A (en) * 2018-11-14 2019-04-02 广州广电研究院有限公司 Update method, device, storage medium and the system of grating map
CN109658373A (en) * 2017-10-10 2019-04-19 中兴通讯股份有限公司 A kind of method for inspecting, equipment and computer readable storage medium
CN110278714A (en) * 2018-01-23 2019-09-24 深圳市大疆创新科技有限公司 Obstacle detection method, mobile platform and computer readable storage medium
CN112799095A (en) * 2020-12-31 2021-05-14 深圳市普渡科技有限公司 Static map generation method and device, computer equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3552147A1 (en) * 2016-12-12 2019-10-16 The Charles Stark Draper Laboratory, Inc. System and method for semantic simultaneous localization and mapping of static and dynamic objects
CN109579847B (en) * 2018-12-13 2022-08-16 歌尔股份有限公司 Method and device for extracting key frame in synchronous positioning and map construction and intelligent equipment
CN111665826A (en) * 2019-03-06 2020-09-15 北京奇虎科技有限公司 Depth map acquisition method based on laser radar and monocular camera and sweeping robot
CN110163968B (en) * 2019-05-28 2020-08-25 山东大学 RGBD camera large three-dimensional scene construction method and system
CN111415388B (en) * 2020-03-17 2023-10-24 Oppo广东移动通信有限公司 Visual positioning method and terminal

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052721B1 (en) * 2012-08-28 2015-06-09 Google Inc. Method for correcting alignment of vehicle mounted laser scans with an elevation map for obstacle detection
CN108290294A (en) * 2015-11-26 2018-07-17 三星电子株式会社 Mobile robot and its control method
CN109658373A (en) * 2017-10-10 2019-04-19 中兴通讯股份有限公司 A kind of method for inspecting, equipment and computer readable storage medium
CN110278714A (en) * 2018-01-23 2019-09-24 深圳市大疆创新科技有限公司 Obstacle detection method, mobile platform and computer readable storage medium
CN109558471A (en) * 2018-11-14 2019-04-02 广州广电研究院有限公司 Update method, device, storage medium and the system of grating map
CN112799095A (en) * 2020-12-31 2021-05-14 深圳市普渡科技有限公司 Static map generation method and device, computer equipment and storage medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114353779A (en) * 2021-09-30 2022-04-15 南京晨光集团有限责任公司 Method for rapidly updating local cost map of robot by point cloud projection
CN115683109A (en) * 2022-10-19 2023-02-03 北京理工大学 Visual dynamic barrier detection method based on CUDA and three-dimensional grid map
CN115683109B (en) * 2022-10-19 2024-05-17 北京理工大学 Visual dynamic obstacle detection method based on CUDA and three-dimensional grid map
CN116051775A (en) * 2023-03-06 2023-05-02 超节点创新科技(深圳)有限公司 Semantic map construction method, mobile robot and storage medium
CN116051775B (en) * 2023-03-06 2023-08-04 超节点创新科技(深圳)有限公司 Semantic map construction method, mobile robot and storage medium
CN116010725A (en) * 2023-03-23 2023-04-25 北京白龙马云行科技有限公司 Map point location set dynamic display method, device, computer equipment and medium
CN116010725B (en) * 2023-03-23 2023-10-13 北京白龙马云行科技有限公司 Map point location set dynamic display method, device, computer equipment and medium
CN116588573A (en) * 2023-04-28 2023-08-15 北京云中未来科技有限公司 Bulk cargo grabbing control method and system of intelligent warehouse lifting system
CN116588573B (en) * 2023-04-28 2024-02-02 北京云中未来科技有限公司 Bulk cargo grabbing control method and system of intelligent warehouse lifting system

Also Published As

Publication number Publication date
CN112799095B (en) 2023-03-14
CN112799095A (en) 2021-05-14

Similar Documents

Publication Publication Date Title
WO2022143114A1 (en) Static map generation method and apparatus, and computer device and storage medium
US20210350572A1 (en) Positioning method, apparatus, device, and computer-readable storage medium
CN111583663B (en) Monocular perception correction method and device based on sparse point cloud and storage medium
EP4283567A1 (en) Three-dimensional map construction method and apparatus
CN106052674A (en) Indoor robot SLAM method and system
CN109541630A (en) A method of it is surveyed and drawn suitable for Indoor environment plane 2D SLAM
CN109360239B (en) Obstacle detection method, obstacle detection device, computer device, and storage medium
US11953605B2 (en) Method, device, equipment, and storage medium for determining sensor solution
US11906305B2 (en) Movable marking system, controlling method for movable marking apparatus, and computer readable recording medium
CN112967344B (en) Method, device, storage medium and program product for calibrating camera external parameters
CN112936288B (en) Robot action safety detection method and device, electronic equipment and storage medium
CN112802092B (en) Obstacle sensing method and device and electronic equipment
WO2023179717A1 (en) Point cloud processing method and apparatus for laser radar, device, and storage medium
EP4220547A1 (en) Method and apparatus for determining heat data of global region, and storage medium
US20220415064A1 (en) Image processing method and apparatus, electronic device, and computer-readable storage medium
WO2023179718A1 (en) Point cloud processing method and apparatus for lidar, and device and storage medium
CN110645960A (en) Distance measurement method, terrain following distance measurement method, obstacle avoidance distance measurement method and device
US20240012425A1 (en) Method for displaying posture of robot in three-dimensional map, apparatus, device, and storage medium
CN110322539B (en) Three-dimensional model cutting process display method and device of three-dimensional object and electronic equipment
CN113240745A (en) Point cloud data calibration method and device, computer equipment and storage medium
WO2022021133A1 (en) Computer device positioning method and apparatus, and computer device and storage medium
US11361502B2 (en) Methods and systems for obtaining aerial imagery for use in geospatial surveying
CN115578712A (en) Image stabilizing method and device, electronic equipment and storage medium
CN112180910A (en) Obstacle sensing method and device for mobile robot
US20230003893A1 (en) Method and apparatus for detecting operating terrain, and engineering equipment for detecting operating terrain

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21913855

Country of ref document: EP

Kind code of ref document: A1