Self-moving equipment advancing method, equipment and storage medium

By generating local maps and removing obstacles within the range of obstacles, the problem of insufficient driving capacity of mobile robots in the narrow -track area has been solved, and more efficient traffic has been achieved.

CN119356311APending Publication Date: 2025-01-24YOUDI ROBOT (WUXI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411369634.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

When a mobile robot encounters a narrower pass width in a complex environment, it lacks driving ability and may wait or detour in place, which takes a lot of time.

Method used

By obtaining the point cloud data of the sensor scanning environment, a local map is generated, and obstacles within the error range of the point cloud data obstacles are cleared on the local map, thereby controlling the movement of the mobile device.

Benefits of technology

Clear the error caused by the building and positioning, increase the traffic width of the mobile device on the local map, enhance the driving capacity and the possibility of through the narrow track area.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356311A_ABST
    Figure CN119356311A_ABST
Patent Text Reader

Abstract

The invention provides a self-mobile device advancing method and device and a storage medium, and the method comprises the steps: obtaining point cloud data of a sensor scanning environment, and generating a local map according to a global static map; in the local map, obstacles located in the obstacle error range of the point cloud data are removed; and controlling the self-moving equipment to advance based on the local map after the obstacle is removed. According to the technical scheme, the driving capability of the self-moving equipment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of device navigation, and in particular to a method, device and storage medium for self-mobile device navigation. Background Art

[0002] Autonomous devices, such as mobile robots, are robots that can move autonomously and perform various tasks. They are usually equipped with components such as sensors, controllers, drives, and power supplies, and can autonomously navigate in different environments, sense the surrounding environment, avoid obstacles, and complete various tasks such as transporting items, patrolling, cleaning, etc.

[0003] Mobile robots usually need to move in complex environments. In particular, due to the placement of some temporary obstacles, there will be some areas with narrow passage widths. When the mobile robot moves to these areas, if the mobile robot has poor driving ability, it will wait in place or take a detour, which is time-consuming. Summary of the invention

[0004] The present application provides a method, device and storage medium for moving a mobile device, aiming to improve the driving ability of a mobile robot.

[0005] In a first aspect, a method for moving a self-propelled device is provided, the method comprising:

[0006] Obtain point cloud data of the environment scanned by the sensor and generate a local map based on the global static map;

[0007] In the local map, removing obstacles within the obstacle error range of the point cloud data;

[0008] Based on the local map after the obstacles are cleared, the self-moving device is controlled to move forward.

[0009] In this technical solution, point cloud data of the sensor scanning environment is obtained, and a local map is generated according to the global static map. In the local map, obstacles within the obstacle error range of the point cloud data are cleared, and the movement of the self-moving device is controlled based on the local map after the obstacles are cleared. Since obstacles within the obstacle error range corresponding to the point cloud data are cleared on the local map, errors caused by mapping and positioning can be cleared, and the passable width of the self-moving device's passage area on the local map can be increased, thereby improving the driving ability of the mobile robot.

[0010] In combination with the first aspect, in a possible implementation method, point cloud data of the sensor scanning environment is obtained, and a local map is generated based on the global static map, including: obtaining a laser radar and / or a depth camera to scan the environment in real time to obtain point cloud data; generating the local map based on obstacles in the global static map and obstacles corresponding to the point cloud data.

[0011] In combination with the first aspect, in a possible implementation, before clearing obstacles within the obstacle error range of the point cloud data in the local map, the method further includes: for any target scanning point in the point cloud data, calculating a first distance between the target scanning point and the self-moving device; and determining the obstacle error range corresponding to the target scanning point on the local map according to the first distance. By determining the obstacle error range corresponding to the scanning point according to the distance between the scanning point and the self-moving device, the obstacle error range corresponding to the scanning point can be accurately determined, thereby accurately clearing the obstacle.

[0012] In conjunction with the first aspect, in a possible implementation, calculating the first distance between the target scanning point and the self-mobile device includes: obtaining the positioning coordinates of the self-mobile device on the local map; and calculating the first distance between the target scanning point and the self-mobile device based on the positioning coordinates and the position coordinates of the target scanning point on the local map. Calculating the distance between the scanning point and the self-mobile device based on the position coordinates of the scanning point on the local map and the positioning coordinates of the self-mobile device on the local map can make the calculated distance between the scanning point and the self-mobile device more accurate.

[0013] In combination with the first aspect, in a possible implementation, determining the obstacle error range corresponding to the target scanning point on the local map according to the first distance includes: determining a preset distance according to the body size of the self-moving device; if the first distance is less than the preset distance, determining a first range on the local map according to the target scanning point and the first error distance, and determining the first range as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the first range and the target scanning point on the local map is less than or equal to the first error distance; if the first distance is greater than or equal to the preset distance, determining a second range on the local map according to the target scanning point and the second error distance, and determining the second range as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the second range and the target scanning point on the local map is less than or equal to the second error distance. Dividing the point cloud data into two categories, and setting a larger obstacle error range for a category of scanning points that are closer to the self-moving device, and setting a smaller obstacle error range for a category of scanning points that are farther from the self-moving device, can accurately remove obstacles, and the implementation is simple.

[0014] In combination with the first aspect, in a possible implementation, determining the first range as the obstacle error range corresponding to the target scanning point includes: determining the scanning point trajectory according to the scanning point of the point cloud data; determining the first range with the scanning point trajectory facing the side of the self-moving device as the obstacle error range corresponding to the target scanning point; and / or determining the second range as the obstacle error range corresponding to the target scanning point includes: determining the scanning point trajectory according to the scanning point of the point cloud data; determining the second range with the scanning point trajectory facing the side of the self-moving device as the obstacle error range corresponding to the target scanning point. Determining the range facing the side of the self-moving device as the obstacle error range can accurately clear obstacles.

[0015] In combination with the first aspect, in a possible implementation manner, the accuracy of the local map is greater than or equal to the accuracy of the global static map.

[0016] In combination with the first aspect, in a possible implementation, the local map is a grid map, and the grid map includes an obstacle grid and a traversable area grid; in the local map, obstacles located within an obstacle error range of the point cloud data are cleared, including: determining a target obstacle grid within the obstacle error range within the local map; and modifying the target obstacle grid to a traversable area grid.

[0017] In a second aspect, a self-propelled device is provided, the device comprising:

[0018] A map generation module is used to obtain point cloud data of the environment scanned by the sensor and generate a local map based on the global static map;

[0019] An obstacle removal module, used to remove obstacles within the obstacle error range corresponding to the point cloud data on the local map of the self-mobile device;

[0020] The passage module is used to control the self-moving device to move based on the local map after the obstacles are cleared.

[0021] In a third aspect, a self-moving device is provided, comprising a memory, a sensor and one or more processors, wherein the memory and the sensor are connected to the one or more processors, the sensor is used to scan point cloud data of the environment, and the one or more processors are used to execute one or more computer programs stored in the memory, and when the one or more processors execute the one or more computer programs, the self-moving device implements the self-moving device travel method of the first aspect mentioned above.

[0022] In a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the self-moving device moving method of the first aspect.

[0023] The present application can achieve the following technical effects: since obstacles within the obstacle error range corresponding to the point cloud data are cleared on the local map, the errors caused by mapping and positioning can be cleared, and the passable width of the passage area of ​​the self-moving device on the local map can be increased, thereby improving the driving ability of the mobile robot and increasing the possibility of the self-moving device passing through narrow road areas. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0025] Figure 1 A schematic diagram of obstacles on a local map before the obstacles are cleared provided in an embodiment of the present application;

[0026] Figure 2 A schematic diagram of a flow chart of a method for moving a self-moving device provided in an embodiment of the present application;

[0027] Figure 3 A schematic diagram of a flow chart of another method for moving a self-moving device provided in an embodiment of the present application;

[0028] Figure 4 A schematic diagram of the obstacle error range provided in an embodiment of the present application;

[0029] Figure 5 It is a structural schematic diagram of a traveling device of a self-moving device provided in an embodiment of the present application;

[0030] Figure 6 It is a structural schematic diagram of a self-moving device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0031] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0032] It should be noted that, if there is no conflict, the various features in the embodiments of the present application can be combined with each other, all within the scope of protection of the present application. In addition, although the functional module division is performed in the device schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a sequence different from the module division in the device or the flow chart. Furthermore, the words "first", "second", "third", etc. used in this application do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.

[0033] The technical solution of the present application is applicable to the navigation scenarios of self-moving devices, and in particular to the navigation scenarios of self-moving devices in narrow lane areas. A self-moving device refers to a device that can move autonomously to complete a task, and the self-moving device includes but is not limited to cleaning robots, transport robots, unmanned transport vehicles and other equipment. A narrow lane area refers to an area that may be judged as impassable by a self-moving device due to its narrow width. The actual width of the narrow lane area is usually slightly larger than the actual width of the self-moving device. As for the specific width of the area defined as a narrow lane area, it can be set according to the specific situation of the self-moving device, and this application does not impose any restrictions.

[0034] In the navigation scenario of a self-moving device, the self-moving device is usually located and navigated based on a global static map and a local map. The global static map is a large-scale representation of the entire environment, usually with low resolution and details. It contains the overall structure and characteristics of the environment in which the self-moving device is located, such as rooms, corridors, obstacles, etc. The local map is a detailed representation of the self-moving device in a smaller range near the current location. It has a higher resolution and more precise details and is used for precise navigation and obstacle avoidance of the self-moving device in the local environment. The global static map and the local map play different roles in robot navigation. The global static map provides an overview of the overall environment and helps the self-moving device plan a general path and goal. The local map is used to perceive and respond to the specific situation around the self-moving device in real time, ensuring that the self-moving device can move safely and accurately. The local map is updated based on real-time sensor data to reflect the dynamic changes around the self-moving device.

[0035] Both global static maps and local maps can be represented in the form of grid maps. Grid maps use grids to represent the accessibility of the environment and the distribution of obstacles. Grid maps include multiple grids, each of which is a square. The grid accuracy of global static maps is usually lower than that of local maps. The grid accuracy of global static maps is generally 5 centimeters (cm), that is, the area of ​​a grid on the global static map is 5cm*5cm; the grid accuracy of local maps is 5cm*5cm. Figure 1 It is generally 2.5 cm, that is, the area of ​​a grid on a local map is 2.5 cm*2.5 cm.

[0036] The obstacles on the global static map and the obstacles detected by the sensors of the self-moving device in real time are mapped to the local map. The self-moving device determines whether the self-moving device can pass through the narrow area based on the local map. The error of the global static map and the positioning error of the self-moving device are the main factors affecting the self-moving device passing through the narrow area. For example, you can refer to Figure 1 , Figure 1 The gray straight line in the figure is the actual obstacle in the environment, and the actual distance between the mobile device and the obstacle on one side is d1. Figure 1 In The gray square is a local map generated based on the obstacles on the global static map and the obstacles detected by the sensor in real time. It can be seen that due to the existence of obstacle errors when generating the map, the self-moving device actually maintains a gap with the obstacles on the side and can pass through the narrow area. However, on the local map, the self-moving device has been "embedded" in the obstacle grid of the local map, causing the self-moving device to mistakenly determine that it cannot pass through the pass area.

[0037] Understandably, Figure 1 Only a portion of the obstacle grid is shown, merely for illustrating the present invention.

[0038] Based on this, the present application proposes a self-moving device travel scheme, which obtains point cloud data formed by the real-time scanning of the environment by the sensor of the self-moving device, generates a local map based on the global static map, determines the real obstacles based on the point cloud data, and eliminates the errors caused by mapping and positioning by clearing obstacles near the real obstacles in the local map, and controls the movement of the self-moving device based on the local map after the obstacles are cleared, thereby improving the possibility of the self-moving device passing through narrow areas. The technical solution of the present application can be applied to a self-moving device, and the self-moving device includes a sensor, and the sensor is used to scan the environment around the self-moving device in real time to form point cloud data. The sensor includes one or more of the sensor devices that can include laser radar, depth camera, etc. that can obtain environmental conditions. The technical solution of the present application is described in detail below.

[0039] See also Figure 2 , Figure 2 A schematic diagram of a process flow of a self-propelled device traveling method provided in an embodiment of the present application, such as Figure 2 As shown, the method comprises the following steps:

[0040] S101, obtaining point cloud data of the sensor scanning environment.

[0041] Here, the point cloud data is a data set formed by the sensor of the self-mobile device scanning the environment in real time; the point cloud data can reflect the real-time position of obstacles around the self-mobile device, and the point cloud data includes multiple scanning points.

[0042] The meaning of the scanning point will be different depending on the sensor that scans the scanning point. For example, if the scanning point is obtained by scanning a laser radar, the scanning point refers to the laser position point formed by the laser radar scanning the environment; if the scanning point is obtained by scanning a depth camera, the scanning point refers to the pixel point formed by the depth camera scanning the environment.

[0043] Among them, the environment around the mobile device can be scanned in real time by the sensor of the mobile device to obtain point cloud data, which may include lidar data obtained by scanning the environment in real time by a lidar, and / or depth image data obtained by scanning the environment in real time by a depth camera.

[0044] S102: Generate a local map based on the global static map.

[0045] Here, there are definitions of global static maps and local maps, please refer to the above description.

[0046] Generating a local map according to the global static map includes: generating a local map according to obstacles in the global static map and obstacles corresponding to point cloud data.

[0047] Among them, the local map area corresponding to the local map can be determined on the global static map, the obstacles located in the local map area on the global static map can be mapped to the local map to form obstacles, and each scanning point in the point cloud data can be mapped to the local map to form obstacles, thereby generating a local map.

[0048] When both the global static map and the local map are grid maps, the grid map includes an obstacle grid and a passable area grid, wherein the obstacle grid refers to the grid corresponding to the obstacle, and the passable area grid refers to the passable grid, i.e., a grid without obstacles. In addition, the grid map may also include an unknown area grid, wherein the unknown area grid refers to an area that cannot be scanned by the sensor when constructing the map. For obstacles in the global static map, according to the mapping relationship between the grid on the global static map and the grid on the local map, the grid on the local map corresponding to the obstacle grid located in the local map area on the global static map may be set as an obstacle grid, thereby mapping the obstacles located in the local map area on the global static map to the local map to form obstacles. For each scanning point in the point cloud data, each scanning point in the point cloud data may be converted from the sensor coordinate system to the local map coordinate system corresponding to the local map according to the sensor coordinate system corresponding to the sensor and the local map coordinate system corresponding to the local map, thereby mapping each scanning point in the point cloud data to the local map to form obstacles. The conversion relationship between the sensor coordinate system and the local map coordinate system can be obtained by pre-calibration.

[0049] S103, in the local map, removing obstacles within the obstacle error range of the point cloud data.

[0050] Here, the obstacle error range corresponding to the point cloud data refers to the distance error range between the actual obstacle corresponding to the point cloud data and the obstacle in the local map.

[0051] Since the point cloud data includes a plurality of scanning points, the obstacle error range corresponding to the point cloud data includes the obstacle error ranges corresponding to the plurality of scanning points respectively.

[0052] The obstacles in the global static map and the obstacles corresponding to the point cloud data are mapped to the local map. On the local map, the range located around each scanning point in the point cloud data and whose distance to each scanning point is less than the error distance is determined as the obstacle error range corresponding to each scanning point in the point cloud data, thereby obtaining the obstacle error range corresponding to each of the multiple scanning points in the point cloud data.

[0053] For example, the error distance can be uniformly set to 7 cm. For any scanning point in the point cloud data (hereinafter referred to as the target scanning point), the range within 7 cm around the target scanning point can be determined on the local map as the obstacle error range corresponding to the target scanning point; for each scanning point in the point cloud data, the obstacle error range is determined in the same way, and the obstacle error ranges corresponding to multiple scanning points in the point cloud data can be obtained.

[0054] In some other possible situations, the obstacle error range corresponding to each scanning point in the point cloud data may be determined according to the distance between each scanning point in the point cloud data and the self-moving device, thereby obtaining the obstacle error range corresponding to each of the multiple scanning points in the point cloud data. The specific implementation method of determining the obstacle error range corresponding to each scanning point in the point cloud data according to the distance between each scanning point in the point cloud data and the self-moving device will be described in detail in the subsequent step S204, and will not be described in detail here.

[0055] Among them, the target obstacle grid within the obstacle error range of the point cloud data can be determined in the local map; the target obstacle grid is modified to the passable area grid. Since the point cloud data includes multiple scanning points, for the target scanning point, the grid within the obstacle error range corresponding to the target scanning point can be determined as the target obstacle grid in the local map; for each scanning point in the point cloud data, the target obstacle grid is determined in the same way, and all target obstacle grids within the obstacle error range of the point cloud data can be determined.

[0056] In a specific implementation, the grid weight of the target obstacle in the local map can be adjusted to a preset weight, so that the target obstacle grid is modified into a passable area grid. The preset weight is used to indicate that there is no obstacle in the grid, and the preset weight can be 0, for example.

[0057] Since obstacles within the obstacle error range of the point cloud data are cleared, the obstacles on the local map are reduced, the distance between the mobile device and the obstacles on the local map becomes larger, the passable width of the passable area determined by the mobile device based on the local map becomes wider, and the mobile device determines that the mobile device can pass through the passable area.

[0058] S104, controlling the self-moving device to move based on the local map after the obstacles are cleared.

[0059] Among them, the distance between the self-moving device and the obstacle can be determined based on the local map after the obstacle is cleared, and the self-moving device can be controlled to move according to the distance between the self-moving device and the obstacle.

[0060] In the above Figure 2 In the corresponding technical solution, point cloud data of the sensor scanning environment is obtained, and a local map is generated according to the global static map. In the local map, obstacles within the obstacle error range of the point cloud data are cleared, and the movement of the self-moving device is controlled based on the local map after the obstacles are cleared. Since obstacles within the obstacle error range corresponding to the point cloud data are cleared on the local map, errors caused by mapping and positioning can be cleared, the driving ability of the self-moving device can be improved, and the passable width of the self-moving device's passage area on the local map can be increased, thereby increasing the possibility of the self-moving device passing through narrow road areas.

[0061] See also Figure 3 , Figure 3 A flow chart of another method for moving a self-propelled device provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, the method comprises the following steps:

[0062] S201, obtaining point cloud data of the sensor scanning environment.

[0063] S202: Generate a local map based on the global static map.

[0064] Here, regarding the implementation of steps S201 to S202, reference may be made to the description of steps S101 to S102, which will not be repeated here.

[0065] S203, calculating a first distance between the target scanning point in the point cloud data and the mobile device.

[0066] Here, the target scanning point is any one of the multiple scanning points included in the point cloud data, and the first distance refers to the distance between the target scanning point and the self-moving device.

[0067] In a feasible implementation, the first distance between the target scanning point in the point cloud data and the self-moving device can be calculated through the following steps A1-A2:

[0068] A1. Obtain the location coordinates of the mobile device on the local map.

[0069] A2. Calculate a first distance between the target scanning point and the self-mobile device according to the positioning coordinates of the self-mobile device on the local map and the position coordinates of the target scanning point on the local map.

[0070] The target scanning point can be converted to the local map to obtain the position coordinates of the target scanning point on the local map. When converting the target scanning point to the local map, the target scanning point can be converted from the sensor coordinate system to the local map coordinate system corresponding to the local map according to the sensor coordinate system corresponding to the sensor and the local map coordinate system corresponding to the local map to obtain the position coordinates of the target scanning point on the local map.

[0071] Calculating the distance between the point cloud and the self-moving device based on the position coordinates of the point cloud on the local map and the positioning coordinates of the self-moving device on the local map can make the calculated distance between the point cloud and the self-moving device more accurate.

[0072] Optionally, the first distance between the target scanning point and the self-moving device can be calculated based on the global static map, or the position of the self-moving device can be converted to a sensor coordinate system and the first distance between the target scanning point and the self-moving device can be calculated in the sensor coordinate system. This application does not impose any restrictions.

[0073] S204: Determine, on the local map, an obstacle error range corresponding to the target scanning point according to the first distance.

[0074] In a feasible implementation manner, the obstacle error range corresponding to the target scanning point is determined according to the following steps B1-B3:

[0075] B1. Determine the preset distance based on the size of the mobile device.

[0076] Here, the preset distance may be a distance reflecting the width of the self-moving device. The width of the self-moving device refers to the maximum length of the self-moving device in the horizontal direction. For example, if the shape of the self-moving device in the horizontal direction is a circle, then the device width of the self-moving device refers to the diameter length of the circle corresponding to the self-moving device; for another example, if the shape of the self-moving device in the horizontal direction is a rectangle, then the width of the self-moving device refers to the diagonal length of the rectangle corresponding to the mobile device. The preset distance may be the width of the mobile device, or may be less than the width of the self-moving device. Exemplarily, the preset distance may be, for example, 25 cm.

[0077] If the first distance is less than the preset distance, execute step B2; if the first distance is greater than or equal to the preset distance, execute step B3.

[0078] B2. Determine a first range on the local map according to the target scanning point and the first error distance range, and determine the first range as the obstacle error range corresponding to the target scanning point.

[0079] The distance between each position point in the first range and the target scanning point on the local map is less than or equal to a first error distance. For example, the first error distance may be 7 cm.

[0080] The first range is a range with the target scanning point as the center and the first error distance as the radius. In a feasible implementation, the first range is determined as the obstacle error range corresponding to the target scanning point, which may refer to determining a circular range or a semicircular range with the target scanning point as the center and the first error distance as the radius as the obstacle error range corresponding to the target scanning point. Figure 4 , Figure 4 p1 in the figure is the location of the mobile device on the local map. Figure 4 p2 in the figure is the position of the target scanning point on the local map. The obstacle error range corresponding to the target scanning point can be expressed as Figure 4 As shown in f11, Figure 4 D1 in is the first error distance.

[0081] In another feasible implementation, the scanning point trajectory can also be determined according to the scanning point of the point cloud data, and the first range of the scanning point trajectory toward the side of the mobile device is determined as the obstacle error range corresponding to the target scanning point. Figure 4 , assuming that the scanning point trajectory l1 is shown, the obstacle error range corresponding to the target scanning point can also be as follows Figure 4 As shown in f12 in Figure 1. By determining the range toward the side of the mobile device as the obstacle error range, obstacles can be removed accurately.

[0082] B3. Determine a second range in the local map according to the target scanning point and the second error distance, and determine the second range as the obstacle error range corresponding to the target scanning point.

[0083] The second error distance may be smaller than the first error distance, and the distance between each position point in the second range and the target scanning point on the local map is smaller than or equal to the second error distance. For example, the second error distance may be 5 cm.

[0084] The second range may be a range with the target scanning point as the center and the second error distance as the radius. In a feasible implementation, determining the second range as the obstacle error range corresponding to the target scanning point may refer to determining a circular range or a semicircular range with the target scanning point as the center and the second error distance as the radius as the obstacle error range corresponding to the target scanning point. Figure 4 , the obstacle error range corresponding to the target scanning point can be expressed as Figure 4 As shown in f21, Figure 4 D2 in is the second error distance.

[0085] In another feasible implementation, the scanning point trajectory can also be determined based on the scanning point of the point cloud data, and the second range of the scanning point trajectory toward the side of the mobile device is determined as the obstacle error range corresponding to the target scanning point. Figure 4 , assuming that the scanning point trajectory l1 is shown, the obstacle error range corresponding to the target scanning point can also be as follows Figure 4 As shown in f22 in FIG. 1 , the range toward the side of the self-moving device is determined as the obstacle error range, and the obstacle can be accurately removed.

[0086] The scanning points contained in the point cloud data are divided into two categories, and a larger obstacle error range is set for a group of scanning points closer to the mobile device, and a smaller obstacle error range is set for a group of scanning points farther from the mobile device. Obstacles can be removed accurately and the implementation method is simple.

[0087] Optionally, the error distances corresponding to different scanning points from the mobile device can be experimentally measured in advance, and a corresponding relationship between the first distance and the error distance can be established. According to the corresponding relationship between the first distance and the error distance, and the first distances corresponding to each target scanning point in the point cloud data, the obstacle error range corresponding to each target scanning point in the point cloud data can be determined. This application does not impose any restrictions.

[0088] For each scanning point in the point cloud data, the obstacle error range may be determined according to the above steps S203 to S204, so that the obstacle error ranges corresponding to the plurality of scanning points in the point cloud data may be obtained.

[0089] S205 , in the local map, removing obstacles within obstacle error ranges corresponding to the plurality of scanning points in the point cloud data.

[0090] S206, controlling the self-moving device to move based on the local map after the obstacles are cleared.

[0091] Here, regarding the specific implementation of steps S205 to S206, reference may be made to the description of the aforementioned steps S103 to S104, which will not be repeated here.

[0092] In the above Figure 3 In the corresponding technical solution, by acquiring point cloud data of the sensor scanning environment and generating a local map based on the global static map, the distance between the scanning point in the point cloud data and the self-moving device is calculated, and based on the distance between the scanning point in the point cloud data and the self-moving device, the obstacle error range corresponding to the scanning point in the point cloud data is determined on the local map of the self-moving device. The obstacle error range corresponding to each scanning point in the point cloud data can be accurately determined, so that in the local map of the self-moving device, when clearing obstacles located in the obstacle error range corresponding to each of the multiple target scanning points contained in the point cloud data, the obstacles belonging to the error can be accurately cleared.

[0093] The method of the present application is introduced above, and the device of the present application is introduced below.

[0094] See also Figure 5 , Figure 5 is a schematic diagram of the structure of a self-propelled device travel device provided in an embodiment of the present application, such as Figure 5 As shown, the self-propelled equipment traveling device 30 includes:

[0095] A map generation module 301 is used to obtain point cloud data of the environment scanned by the sensor and generate a local map based on the global static map;

[0096] An obstacle removal module 302 is used to remove obstacles within the obstacle error range corresponding to the point cloud data in the local map of the self-mobile device;

[0097] The passage module 303 is used to control the self-moving device to move based on the local map after the obstacles are cleared.

[0098] In one possible design, the map generation module 301 is specifically used to: obtain a laser radar and / or a depth camera to scan the environment in real time to obtain point cloud data; and generate the local map according to the obstacles in the global static map and the obstacles corresponding to the point cloud data.

[0099] In a possible design, the obstacle removal module 302 is also used to: calculate, for any target scanning point in the point cloud data, a first distance between the target scanning point and the self-moving device; and determine, based on the first distance, an obstacle error range corresponding to the target scanning point on the local map.

[0100] In one possible design, the obstacle removal module 302 is specifically used to: obtain the positioning coordinates of the self-mobile device on the local map; and calculate the first distance between the target scanning point and the self-mobile device based on the positioning coordinates and the position coordinates of the target scanning point on the local map.

[0101] In one possible design, the obstacle removal module 302 is specifically used to: determine a preset distance according to the body size of the self-moving device; if the first distance is less than the preset distance, determine a first range in the local map according to the target scanning point and the first error distance, and determine the first range as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the first range and the target scanning point on the local map is less than or equal to the first error distance; if the first distance is greater than or equal to the preset distance, determine a second range in the local map according to the target scanning point and the second error distance, and determine the second range as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the second range and the target scanning point on the local map is less than or equal to the second error distance.

[0102] In one possible design, the obstacle removal module 302 is specifically used to: determine the scanning point trajectory according to the scanning points of the point cloud data; determine the first range on the side of the self-mobile device with the scanning point trajectory as the obstacle error range corresponding to the target scanning point; and / or determine the second range as the obstacle error range corresponding to the target scanning point, including: determining the scanning point trajectory according to the scanning points of the point cloud data; determining the second range on the side of the self-mobile device with the scanning point trajectory as the obstacle error range corresponding to the target scanning point.

[0103] In one possible design, the accuracy of the local map is greater than or equal to the accuracy of the global static map.

[0104] In a possible design, the local map is a grid map, and the grid map includes an obstacle grid and a traversable area grid; the above-mentioned obstacle removal module 302 is specifically used to: determine the target obstacle grid within the obstacle error range in the local map; and modify the target obstacle grid to a traversable area grid.

[0105] It should be noted that Figure 5 For the contents not mentioned in the corresponding embodiments, please refer to the description of the aforementioned method embodiments, which will not be repeated here.

[0106] The above-mentioned device obtains point cloud data of the sensor scanning environment and generates a local map according to the global static map. In the local map, obstacles within the obstacle error range of the point cloud data are cleared, and the self-moving device is controlled to move based on the local map after the obstacles are cleared. Since obstacles within the obstacle error range corresponding to the point cloud data are cleared on the local map, errors caused by mapping and positioning can be cleared, and the passable width of the self-moving device's passage area on the local map can be increased, thereby improving the possibility of the self-moving device passing through the narrow road area.

[0107] See also Figure 6 , Figure 6 4 is a schematic diagram of a self-moving device provided in an embodiment of the present application, wherein the self-moving device 40 includes a processor 401, a memory 402, and a sensor 403. The memory 402 and the sensor 403 are connected to the processor 401, for example, through a bus.

[0108] The processor 401 is configured to support the self-mobile device 40 to perform the corresponding functions of the method in the above method embodiment. The processor 401 can be a central processing unit (CPU), a network processor (NP), a hardware chip or any combination thereof. The above hardware chip can be an application specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0109] The sensor 403 may include a laser radar and / or a depth camera and other sensor devices, and the sensor 403 is used to scan the point cloud data of the environment.

[0110] The memory 402 is used to store program codes, etc. The memory 402 may include a volatile memory (VM), such as a random access memory (RAM); the memory 402 may also include a non-volatile memory (NVM), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); the memory 402 may also include a combination of the above-mentioned types of memories.

[0111] The memory 402 can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the self-moving device travel method in the embodiment of the present application. The processor executes various functional applications and data processing of the charging diagnosis method by running the non-volatile software programs, instructions and modules stored in the memory, that is, realizes the function of the self-moving device travel method provided by the above method embodiment.

[0112] The memory 402 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function. The data storage area may store data created according to the use of the self-mobile device travel device, etc. In some embodiments, the memory may include a memory remotely arranged relative to the processor, and these remote memories may be connected to the self-mobile device travel device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0113] The one or more modules are stored in the memory, and when executed by the one or more processors, the self-moving device moving method in any of the above method embodiments is executed, for example, the method steps described in the above method embodiments are executed to realize the functions of the modules described in the above device embodiments.

[0114] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a computer, the computer executes the method described in the above embodiment.

[0115] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0116] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A method for moving a self-propelled device, characterized in that: The method comprises: Obtain point cloud data of the environment scanned by the sensor and generate a local map based on the global static map; In the local map, removing obstacles within the obstacle error range of the point cloud data; Based on the local map after the obstacles are cleared, the self-moving device is controlled to move forward.

2. The method according to claim 1, characterized in that Obtain point cloud data of the environment scanned by the sensor and generate a local map based on the global static map, including: Obtain point cloud data by using a laser radar and / or a depth camera to scan the environment in real time; The local map is generated according to the obstacles in the global static map and the obstacles corresponding to the point cloud data.

3. The method according to claim 1, characterized in that Before removing obstacles within the obstacle error range of the point cloud data in the local map, the method further includes: For any target scanning point in the point cloud data, calculating a first distance between the target scanning point and the self-moving device; An obstacle error range corresponding to the target scanning point is determined on the local map according to the first distance.

4. The method according to claim 3, characterized in that Calculating a first distance between the target scanning point and the self-moving device includes: Obtaining the location coordinates of the mobile device on the local map; A first distance between the target scanning point and the self-moving device is calculated according to the positioning coordinates and the position coordinates of the target scanning point on the local map.

5. The method according to claim 3, characterized in that: Determining the obstacle error range corresponding to the target scanning point on the local map according to the first distance includes: Determining a preset distance according to the size of the self-moving device; If the first distance is less than a preset distance, a first range is determined in the local map according to the target scanning point and the first error distance, and the first range is determined as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the first range and the target scanning point on the local map is less than or equal to the first error distance; If the first distance is greater than or equal to a preset distance, a second range is determined in the local map according to the target scanning point and the second error distance, and the second range is determined as the obstacle error range corresponding to the target scanning point, wherein the distance between each position point in the second range and the target scanning point on the local map is less than or equal to the second error distance.

6. The method according to claim 5, characterized in that Determining the first range as an obstacle error range corresponding to the target scanning point includes: Determining scanning point trajectories according to the scanning points of the point cloud data; Determine the first range of the scanning point trajectory toward the side of the self-moving device as the obstacle error range corresponding to the target scanning point; And / or, determining the second range as the obstacle error range corresponding to the target scanning point includes: Determining scanning point trajectories according to the scanning points of the point cloud data; The second range of the scanning point trajectory toward the side of the self-moving device is determined as the obstacle error range corresponding to the target scanning point.

7. The method according to claim 1, characterized in that The accuracy of the local map is greater than or equal to the accuracy of the global static map.

8. The method according to any one of claims 1 to 7, characterized in that: The local map is a grid map, and the grid map includes an obstacle grid and a traversable area grid; In the local map, removing obstacles within the obstacle error range of the point cloud data includes: Determining a target obstacle grid of the obstacle error range in the local map; The target obstacle grid is modified into a traversable area grid.

9. A self-propelled device, characterized in that: The device comprises a memory, a processor and a sensor, wherein the memory and the sensor are connected to the processor, the sensor is used to scan point cloud data of the environment, and the processor is used to execute one or more computer programs stored in the memory. When the processor executes the one or more computer programs, the self-mobile device implements the method according to any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor is caused to perform the method according to any one of claims 1 to 8.