Method and device for generating robot navigation path

文档序号:1873884 发布日期:2021-11-23 浏览:2次 中文

阅读说明:本技术 机器人导航路径的生成方法及装置 (Method and device for generating robot navigation path ) 是由 喻超 李民 俞浩 常新伟 于 2021-08-11 设计创作,主要内容包括:本发明公开了一种机器人导航路径的生成方法及装置。其中,该方法包括:获取机器人所处目标环境的三维点云数据;根据预设的第一高度阈值对三维点云数据进行分组,得到高度不同的多组三维点云层,其中,第一高度阈值为一个或多个高度值;基于多组三维点云层,生成包括多级高度的高程地图;根据高程地图生成机器人在目标环境中的导航路径。本发明解决了相关技术中机器人的根据平面地图生成导航路径,在地形复杂的情况下,难以有效提供导航路径的技术问题。(The invention discloses a method and a device for generating a robot navigation path. Wherein, the method comprises the following steps: acquiring three-dimensional point cloud data of a target environment where the robot is located; grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values; generating an elevation map comprising multiple levels of heights based on the multiple groups of three-dimensional point cloud layers; and generating a navigation path of the robot in the target environment according to the elevation map. The invention solves the technical problem that in the related art, the robot generates the navigation path according to the plane map and is difficult to effectively provide the navigation path under the condition of complex terrain.)

1. A method for generating a navigation path of a robot, comprising:

acquiring three-dimensional point cloud data of a target environment where the robot is located;

grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values;

generating an elevation map comprising multiple levels of heights based on the multiple groups of three-dimensional point cloud layers;

and generating a navigation path of the robot in the target environment according to the elevation map.

2. The method of claim 1, wherein the obtaining three-dimensional point cloud data of a target environment in which the robot is located comprises:

acquiring original three-dimensional point cloud within a preset range of the robot through a sensing device arranged on the robot;

selecting a target three-dimensional point cloud of a target area from the original three-dimensional point cloud, wherein the target area is an area in a first distance range in front of the robot and an area in a second distance range above the robot;

and performing down-sampling on the target three-dimensional point cloud to obtain three-dimensional point cloud data of the target environment where the robot is located.

3. The method of claim 1, wherein generating an elevation map comprising multiple levels of height based on the sets of three-dimensional point clouds comprises:

determining a coordinate system of the elevation map, wherein the coordinate system is relatively static with a body coordinate system of the robot;

determining a target grid corresponding to the elevation map according to a map grid of a world coordinate system and the coordinate system;

determining the plane height of each unit cell in the target grid according to a target three-dimensional point cloud layer, wherein the plane height is the highest height value of the point cloud height in the three-dimensional point cloud layer corresponding to the unit cell, and the target three-dimensional point cloud layer is any one of a plurality of groups of three-dimensional point cloud layers;

fitting a target map layer corresponding to the target three-dimensional point cloud layer according to the plane heights of all the cells of the target grid;

and obtaining map layers corresponding to the multiple groups of three-dimensional point cloud layers respectively by traversing the multiple groups of three-dimensional point cloud layers, and generating the elevation map.

4. The method according to any one of claims 1 to 3, wherein the elevation map comprises a plurality of map layers with different heights, and the plurality of map layers are in one-to-one correspondence with the plurality of groups of three-dimensional point clouds; the generating a navigation path of the robot in the target environment from the elevation map comprises:

dividing the map layers according to a preset second height threshold; obtaining a first map layer with the height lower than the second height threshold and a second map layer with the height higher than the second height threshold;

and generating a navigation path of the robot in the target environment according to the first map layer and the second map layer.

5. The method of claim 4, wherein the generating a navigation path for the robot in the target environment according to the first map layer and the second map layer comprises:

determining whether a passable area of the robot exists in the target environment or not according to the first map layer;

if the passable area of the robot exists in the target environment, determining whether the passable area has a collision event according to the second map layer;

determining that the passable area is valid in the case that the passable area does not have a collision event;

and generating a navigation path of the robot in the effective passable area according to a path generation algorithm.

6. The method of claim 5, further comprising:

and under the condition that the passable area does not exist in the target environment or the passable area has the collision event, controlling the robot to change the pose, and re-executing the step of acquiring the three-dimensional point cloud data of the target environment where the robot is located until the passable area of the target environment where the robot is located is effective.

7. The method according to claim 5, wherein said determining whether a passable area exists in the target environment according to the first map layer comprises:

successively carrying out multiple dimensionality filtering on the first map layer, and determining passable passing values of each cell of the first map layer for each dimensionality, wherein the passing values are multiple, the multiple passing values correspond to multiple dimensionalities respectively, and the first map layer comprises multiple divided cells;

under the condition that the passing value of each dimension does not exceed the passing threshold value corresponding to each dimension, calculating a total passing value of each cell of the first map layer according to the preset weight of each dimension and the passing value of each dimension;

determining that the cells of the first map layer can pass when the total passing value reaches a total passing threshold value, wherein the total passing threshold value corresponds to the passing capacity of the robot;

determining the passable area according to a plurality of cells which can be passed.

8. The method of claim 5, wherein determining whether the navigable area has a collision event according to the second map layer comprises:

fitting a structure above the passable area according to the point cloud of the second map layer;

determining a lowest height at which the robot moves;

determining that there is a collision event in the passable region if the lowest elevation is equal to or greater than the lowest elevation of the structure.

9. An apparatus for generating a navigation path of a robot, comprising:

the acquisition module is used for acquiring three-dimensional point cloud data of a target environment where the robot is located;

the grouping module is used for grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values;

the first generation module is used for generating an elevation map of the target environment based on the multiple groups of three-dimensional point cloud layers, wherein the elevation map comprises multiple map layers with different heights;

and the second generation module is used for generating a navigation path of the robot in the target environment according to the elevation map.

10. A processor, characterized in that the processor is configured to run a program, wherein the program is configured to execute the method for generating a robot navigation path according to any one of claims 1 to 8 when running.

11. A computer storage medium, characterized in that the computer storage medium comprises a stored program, wherein when the program runs, the program controls a device on which the computer storage medium is located to execute the method for generating the robot navigation path according to any one of claims 1 to 8.

Technical Field

The invention relates to the field of robot navigation, in particular to a method and a device for generating a robot navigation path.

Background

With the technical development of robots, the autonomous navigation of the robot plays an increasingly important role in intelligent robots, and a navigation route of the robot is generated by analyzing according to a sensing device carried by the robot or according to an environment map where the robot is located, so that the robot can autonomously avoid obstacles and move in the environment.

The conventional navigable map construction method depends on an elevation map, which only considers a single-level height of a terrain, namely a map with a small height range on the ground, and the single-level elevation map is rough and only considers the situation on the ground, and cannot fully exert the kinematic capability of the mobile intelligent body in a complex terrain environment.

In view of the above problems, no effective solution has been proposed.

Disclosure of Invention

The embodiment of the invention provides a method and a device for generating a navigation path of a robot, which are used for at least solving the technical problem that the navigation path is difficult to effectively provide under the condition of complex terrain when the robot generates the navigation path according to a plane map in the related art.

According to an aspect of an embodiment of the present invention, there is provided a method for generating a navigation path of a robot, including: acquiring three-dimensional point cloud data of a target environment where the robot is located; grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values; generating an elevation map comprising multiple levels of heights based on the multiple groups of three-dimensional point cloud layers; and generating a navigation path of the robot in the target environment according to the elevation map.

Optionally, the acquiring three-dimensional point cloud data of the target environment where the robot is located includes: acquiring original three-dimensional point cloud within a preset range of the robot through a sensing device arranged on the robot; selecting a target three-dimensional point cloud of a target area from the original three-dimensional point cloud, wherein the target area is an area in a first distance range in front of the robot and an area in a second distance range above the robot; and performing down-sampling on the target three-dimensional point cloud to obtain three-dimensional point cloud data of the target environment where the robot is located.

Optionally, based on the multiple groups of three-dimensional point cloud layers, generating an elevation map including multiple levels of heights includes: determining a coordinate system of the elevation map, wherein the coordinate system is relatively static with a body coordinate system of the robot; determining a target grid corresponding to the elevation map according to a map grid of a world coordinate system and the coordinate system; determining the plane height of each unit cell in the target grid according to a target three-dimensional point cloud layer, wherein the plane height is the highest height value of the point cloud height in the three-dimensional point cloud layer corresponding to the unit cell, and the target three-dimensional point cloud layer is any one of a plurality of groups of three-dimensional point cloud layers; fitting a target map layer corresponding to the target three-dimensional point cloud layer according to the plane heights of all the cells of the target grid; and obtaining map layers corresponding to the multiple groups of three-dimensional point cloud layers respectively by traversing the multiple groups of three-dimensional point cloud layers, and generating the elevation map.

Optionally, the elevation map includes a plurality of map layers with different heights, and the plurality of map layers correspond to the plurality of groups of three-dimensional point cloud layers one to one; the generating a navigation path of the robot in the target environment from the elevation map comprises: dividing the map layers according to a preset second height threshold; obtaining a first map layer with the height lower than the second height threshold and a second map layer with the height higher than the second height threshold; and generating a navigation path of the robot in the target environment according to the first map layer and the second map layer.

Optionally, the generating a navigation path of the robot in the target environment according to the first map layer and the second map layer includes: determining whether a passable area of the robot exists in the target environment or not according to the first map layer; if the passable area of the robot exists in the target environment, determining whether the passable area has a collision event according to the second map layer; determining that the passable area is valid in the case that the passable area does not have a collision event; and generating a navigation path of the robot in the effective passable area according to a path generation algorithm.

Optionally, the method further includes: and under the condition that the passable area does not exist in the target environment or the passable area has the collision event, controlling the robot to change the pose, and re-executing the step of acquiring the three-dimensional point cloud data of the target environment where the robot is located until the passable area of the target environment where the robot is located is effective.

Optionally, the determining whether a passable area exists in the target environment according to the first map layer includes: successively carrying out multiple dimensionality filtering on the first map layer, and determining passable passing values of each cell of the first map layer for each dimensionality, wherein the passing values are multiple, the multiple passing values correspond to multiple dimensionalities respectively, and the first map layer comprises multiple divided cells; under the condition that the passing value of each dimension does not exceed the passing threshold value corresponding to each dimension, calculating a total passing value of each cell of the first map layer according to the preset weight of each dimension and the passing value of each dimension; determining that the cells of the first map layer can pass when the total passing value reaches a total passing threshold value, wherein the total passing threshold value corresponds to the passing capacity of the robot; determining the passable area according to a plurality of cells which can be passed.

Optionally, determining whether the passable area has the collision event according to the second map layer includes: fitting a structure above the passable area according to the point cloud of the second map layer; determining a lowest height at which the robot moves; determining that there is a collision event in the passable region if the lowest elevation is equal to or greater than the lowest elevation of the structure.

According to another aspect of the embodiments of the present invention, there is also provided a device for generating a navigation path of a robot, including: the acquisition module is used for acquiring three-dimensional point cloud data of a target environment where the robot is located; the grouping module is used for grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values; the first generation module is used for generating an elevation map of the target environment based on the multiple groups of three-dimensional point cloud layers, wherein the elevation map comprises multiple map layers with different heights; and the second generation module is used for generating a navigation path of the robot in the target environment according to the elevation map.

According to another aspect of the embodiments of the present invention, there is further provided a processor, wherein the processor is configured to execute a program, and when the program runs, the method for generating a robot navigation path is performed.

According to another aspect of the embodiments of the present invention, there is also provided a computer storage medium, where the computer storage medium includes a stored program, and when the program runs, the apparatus on which the computer storage medium is located is controlled to execute the method for generating a robot navigation path according to any one of the above.

In the embodiment of the invention, three-dimensional point cloud data of a target environment where a robot is located are obtained, the three-dimensional point cloud data are grouped according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, an elevation map comprising multi-level heights is generated based on the plurality of groups of three-dimensional point cloud layers, the navigation path of the robot in the target environment is generated according to the elevation map, the navigation of the robot is realized according to the elevation map, the condition that the complex terrain is not considered to be above a certain height is avoided, the purpose that the navigation path can not pass is achieved, the accuracy of the navigation path is improved, the technical effect of effective navigation paths can be provided in complex terrains, and the technical problem that in the related art, the robot generates navigation paths according to a plane map, and the navigation paths are difficult to provide effectively under the condition of complex terrains is solved.

Drawings

The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:

fig. 1 is a flowchart of a method for generating a navigation path of a robot according to an embodiment of the present invention;

FIG. 2 is a flow diagram for generating navigable maps based on multiple levels of elevation maps according to an embodiment of the invention;

FIG. 3 is a schematic illustration of a multi-level elevation map according to an embodiment of the present invention;

fig. 4 is a schematic diagram of a device for generating a navigation path of a robot according to an embodiment of the present invention.

Detailed Description

In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.

It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.

In accordance with an embodiment of the present invention, there is provided a method embodiment of a method for generating a robot navigation path, it is noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions and that, although a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.

Fig. 1 is a flowchart of a method for generating a navigation path of a robot according to an embodiment of the present invention, as shown in fig. 1, the method includes the following steps:

step S102, three-dimensional point cloud data of a target environment where the robot is located are obtained;

step S104, grouping the three-dimensional point cloud data according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values;

step S106, generating an elevation map of the target environment based on the multiple groups of three-dimensional point cloud layers, wherein the elevation map comprises a plurality of map layers with different heights;

and step S108, generating a navigation path of the robot in the target environment according to the elevation map.

Through the steps, three-dimensional point cloud data of a target environment where the robot is located are obtained, the three-dimensional point cloud data are grouped according to a preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, an elevation map comprising multiple levels of heights is generated based on the plurality of groups of three-dimensional point cloud layers, the navigation path of the robot in the target environment is generated according to the elevation map, the navigation of the robot is realized according to the elevation map, the condition that the complex terrain is not considered to be above a certain height is avoided, the purpose that the navigation path can not pass is achieved, the accuracy of the navigation path is improved, the technical effect of effective navigation paths can be provided in complex terrains, and the technical problem that in the related art, the robot generates navigation paths according to a plane map, and the navigation paths are difficult to provide effectively under the condition of complex terrains is solved.

The robot can be an intelligent robot, a sensing device is arranged on the robot and used for collecting three-dimensional point cloud data of a target environment, for example, an RGB-D depth camera, a binocular camera, a 2D single-line laser radar with a rotating mechanism, and a 3D multi-line laser radar: mechanical, semi-solid, or pure solid, etc. And generating an elevation map of the target environment by acquiring the three-dimensional point cloud of the target environment in front of the robot.

The target environment may be an area environment in front of the robot within a predetermined range. For a robot, an environment in a certain range in front is necessary to move, the acquisition precision of a sensing device is increased along with the distance, so that the accuracy of acquired point cloud data is poor, when an elevation map is generated, the three-dimensional point cloud precision of the environment in a far distance is poor, the navigation effect on the robot is small, and computing resources are occupied. Therefore, the target environment in the preset range in front of the robot is selected to perform point cloud collection and elevation map generation, so that resources can be saved, and the method is more efficient and accurate.

The three-dimensional point cloud data is based on a world coordinate system where the robot is located, and the three-dimensional coordinates of the three-dimensional point cloud are relative to the world coordinate system, so that after the robot collects the three-dimensional point cloud of a target environment, the three-dimensional coordinates of the three-dimensional point cloud can be converted according to a body coordinate system or a coordinate system of an elevation map of the robot, and the three-dimensional point cloud can be conveniently processed in the process of generating the elevation map.

The three-dimensional point cloud data are grouped according to a preset first height threshold value to obtain multiple groups of three-dimensional point cloud layers with different heights, wherein the first height threshold value is one or more height values. The number of the first height threshold values depends on the number of map layers required to be generated by the elevation map. For example, an elevation map requires two map layers, and one height value is required for the elevation map, and two height values are required for the elevation map requiring three map layers. And grouping the three-dimensional point clouds through the height values, and dividing the three-dimensional point clouds into a plurality of groups of three-dimensional point cloud layers corresponding to the map layers of the elevation map.

When the elevation map is generated based on the multiple groups of three-dimensional point cloud layers, a map layer of the elevation map is generated according to the group of three-dimensional point cloud layers, and therefore the multiple map layers of the elevation map are generated according to the multiple groups of three-dimensional point cloud layers, and the elevation map comprising multiple levels of heights is generated.

The elevation map is generated based on the three-dimensional point cloud of the target environment of the robot, the elevation map comprises objects or three-dimensional point cloud of obstacles at various heights in the target environment, the generated elevation map comprises not only obstacles and terrains on the ground, but also obstacles and channels at certain heights, the generated elevation map reflects the three-dimensional and three-dimensional traffic situation of the whole target environment, compared with an elevation map with a single height in the prior art, the elevation map can only reflect obstacles and channels in a certain range on the ground, the determined navigation path is not the actual optimal path, the elevation map has the characteristic of being more accurate, and the technical problem that the navigation path is generated by the robot according to a plane map in the related technology and the navigation path is difficult to be effectively provided under the condition of complex terrain is solved.

Optionally, the obtaining three-dimensional point cloud data of the target environment where the robot is located includes: acquiring an original three-dimensional point cloud within a preset range of the robot through a sensing device arranged on the robot; selecting a target three-dimensional point cloud of a target area from the original three-dimensional point cloud, wherein the target area is an area in a first distance range in front of the robot and an area in a second distance range above the robot; and performing down-sampling on the target three-dimensional point cloud to obtain three-dimensional point cloud data of the target environment where the robot is located.

When the sensing device is used for collecting three-dimensional point clouds, the actual collection range is often difficult to accurately control. Usually, the sensor device has its own effective acquisition range, which however cannot be changed. Therefore, the sensing device collects the three-dimensional point clouds of the surrounding environment to obtain the original three-dimensional point clouds, the target three-dimensional point clouds corresponding to the target area are selected from the original three-dimensional point clouds according to the range of the target area, and the original point clouds outside the target area can be deleted.

The above target region is a region in a first distance range in front of the robot and in a second distance range above the robot, and specifically, the target region may be a rectangular parallelepiped region having a first distance in front, a second distance above the robot, and a collection width of the sensor device, or a semi-cylindrical region having a first distance as a radius and a second distance as a height.

The target three-dimensional point cloud is subjected to down-sampling, the target three-dimensional point cloud can be subjected to down-sampling treatment through a filter, then distribution of the point cloud in a three-dimensional space is homogenized, and accuracy and stability of the three-dimensional point cloud can be improved so as to facilitate subsequent treatment.

Optionally, based on the multiple groups of three-dimensional point cloud layers, generating an elevation map including multiple levels of heights includes: determining a coordinate system of an elevation map, wherein the coordinate system is static relative to a body coordinate system of the robot; determining a target grid corresponding to an elevation map according to a map grid and a coordinate system of a world coordinate system; determining the plane height of each unit cell in the target grid according to the target three-dimensional point cloud layer, wherein the plane height is the highest height value of the point cloud height in the three-dimensional point cloud layer corresponding to the unit cell, and the target three-dimensional point cloud layer is any one of a plurality of groups of three-dimensional point cloud layers; fitting a target map layer corresponding to the target three-dimensional point cloud layer according to the plane heights of all the cells of the target grid; and obtaining map layers corresponding to the multiple groups of three-dimensional point cloud layers respectively by traversing the multiple groups of three-dimensional point cloud layers, and generating an elevation map.

When the elevation map is generated according to the multiple groups of three-dimensional point cloud layers, firstly, coordinates of the elevation map are established, a coordinate system of the elevation map is static and different relative to the robot, synchronous movement with the robot is kept, namely, when the robot moves, the coordinate system of the elevation map also moves, the generated elevation map also moves, when the robot rotates, the coordinate system of the elevation map also rotates, and the generated elevation map also rotates. Therefore, the problem that the positioning accumulated error is caused by continuous movement of the robot, and further the accumulated error is caused by the fact that the map is made up, can be effectively avoided, and the current elevation map is accurate relative to the robot at each moment.

The world coordinate system is a world coordinate system of a three-dimensional space where the robot is located, and may include longitude and latitude and altitude. The map grid is divided with respect to a world coordinate system, corresponding to a real world location. And determining the target grid corresponding to the elevation map according to the world coordinate of the origin of the coordinate system of the elevation map. The target grid of the elevation map is determined so that only changed cells are changed when the elevation map is updated, and cells which are not changed or have a small change degree and can be ignored can be integrated from the elevation map before updating, so that the more detailed efficiency of the elevation map can be improved. Meanwhile, the cells are divided for the elevation map, and the map is fitted according to the three-dimensional point cloud of the cells for follow-up convenience, so that the generation of a follow-up map is guaranteed.

And determining the plane height of each unit cell in the target grid according to the target three-dimensional point cloud layer, wherein the plane height is the highest height value of the point cloud height in the three-dimensional point cloud layer corresponding to the unit cell, and the target three-dimensional point cloud layer is any one of a plurality of groups of three-dimensional point cloud layers. That is, one of the three-dimensional point cloud layers is selected, the point cloud corresponding to each cell in the target grid is determined, the plane height of the cell is determined according to the height of one or more point clouds corresponding to each cell, and the plane height is actually the highest height of the point cloud corresponding to each cell, and then the plane of the cell is generated according to the height, namely the height of the plane.

And then fitting a map layer corresponding to the target three-dimensional point cloud layer according to the planes of the plurality of unit grids of the target grid. And processing other three-dimensional point cloud layers in the multiple groups of three-dimensional point cloud layers in the same mode to obtain map layers corresponding to the multiple groups of three-dimensional point cloud layers respectively. And generating an elevation map according to the plurality of determined map layers.

It should be noted that, in this embodiment, the number of the three-dimensional point cloud layers may be two, and the generated map layers are also two.

Optionally, the elevation map includes a plurality of map layers with different heights, and the map layers correspond to the plurality of sets of three-dimensional point cloud layers one to one; generating a navigation path of the robot in the target environment from the elevation map includes: dividing the plurality of map layers according to a preset second height threshold; obtaining a first map layer with the height lower than a second height threshold value and a second map layer with the height higher than the second height threshold value; and generating a navigation path of the robot in the target environment according to the first map layer and the second map layer.

In a case where the number of the map layers is two, the second height threshold is equal to the first height threshold. In a case where the number of the map layers exceeds two, the second height may be one of a plurality of heights in the first height threshold. The map layers are divided into a first map layer below to represent ground objects and a second map layer above to represent obstacles at a high place.

According to the first map layer, a passable area or a passable path of the robot on the ground can be determined, and according to the second map layer, the passable area or the passable path determined by the first map layer can be determined, whether a collision obstacle at a high place exists or not is determined, and if the collision obstacle exists, the passable area or the passable path is proved to be actually impassable. And then determining the effective navigation path of the robot in the target environment.

Specifically, generating a navigation path of the robot in the target environment according to the first map layer and the second map layer includes: determining whether a passable area of the robot exists in the target environment or not according to the first map layer; if the passable area of the robot exists in the target environment, determining whether the passable area has a collision event according to the second map layer; determining that the passable area is effective under the condition that the passable area has no collision event; and generating a navigation path of the robot in the effective passable area according to a path generation algorithm.

The path generation algorithm may be a related art RT path algorithm or the like.

Optionally, the method further comprises: and under the condition that no passable area exists in the target environment or a collision event exists in the passable area, controlling the robot to change the pose, and re-executing the step of acquiring the three-dimensional point cloud data of the target environment where the robot is located until the passable area of the target environment where the robot is located is effective.

If no passable area exists in the target environment or a collision event exists in the passable area, the situation shows that no passable effective navigation path exists in the target area, the robot is controlled to change the pose, the target environment is determined again, the three-dimensional point cloud of the target environment is obtained, the steps are executed, and the new navigation path in the target environment is determined.

The pose is the position and the pose of the robot, and the pose change is the movement or the pose change of the robot, and the total height and the width of the robot can be changed. The robot movement causes a change in position and the target area it is facing may present a new environment, and a determination needs to be made as to whether the new environment has a valid passable area. When the posture of the robot changes, the robot itself may change or the robot orientation may change. For example, the robot shown in fig. 3 is a legged robot, and the height of the legs of the legged robot may be changed, which may change the total height of the robot, and the robot may pass through an originally impassable route after the height is changed. The change of the robot pose can also be the orientation of the rotating robot, so that the robot faces a new target area, and whether a valid passable area exists in the target area is determined.

It should be noted that, the purpose of the above-mentioned various ways of changing the pose, including moving the position, changing the form of the self-component, rotating the orientation, etc., is to acquire a new target area, so as to determine whether there is a passable area according to the new target area. In some embodiments, the execution priority can be set among the above-mentioned multiple pose change modes, for example, when the robot passes through, since the collision height and the passable area in the current target area are determined, the change of the self-component is preferentially selected, and in the case of passing through by changing the form of the self-component, the target area can be prevented from being updated, so as to improve the navigation efficiency. Under the condition that the robot cannot pass even when the posture of the part of the robot is changed, the target area needs to be updated, and then the direction is preferentially changed at the original position, so that the robot can rotate by a certain angle based on the original target area, can determine whether an effective passable area exists by combining the determined passable area, cannot cause the waste of the operation of the original target area, and avoids the movement of the robot which consumes more energy. Under the condition that the rotation orientation can not be solved, the robot can be moved to find an effective passable area which can pass through.

Optionally, determining whether a passable area exists in the target environment according to the first map layer includes: successively carrying out multiple dimensionality filtering on the first map layer, and determining passable passing values of each cell of the first map layer for each dimensionality, wherein the passing values are multiple, the multiple passing values correspond to the multiple dimensionalities respectively, and the first map layer comprises multiple divided cells; under the condition that the passing value of each dimension does not exceed the passing threshold value corresponding to each dimension, calculating the total passing value of each cell of the first map layer according to the preset weight of each dimension and the passing value of each dimension; determining that the cells of the first map layer can pass under the condition that the total passing value reaches a total passing threshold value, wherein the total passing threshold value corresponds to the passing capacity of the robot; a passable area is determined according to a plurality of cells which can be passed.

The multi-dimensional traffic values may include grade traffic values, cross-traffic values, bumpiness traffic values, and the like. In implementation, a set of serial filters may be used to sequentially perform the following filtering on the map layer: (1) slope (slope) filtering to evaluate the climbing feasibility, (2) step-over (step) filtering to evaluate the obstacle crossing feasibility, and (3) roughness (roughness) filtering to determine whether the cells of the first map unit are feasible.

As the passing value of each dimension is necessary for the robot to pass through, it is required to ensure that the passing value of each dimension meets the requirement, and once the passing value of one dimension does not meet the requirement of the passing threshold, the robot cannot pass through, and the determination of the passing value of the subsequent dimension is not continued. Thereby saving computational resources.

The above-mentioned multiple dimensions are the dimensions with weighted values, the dimension that has a bigger influence on the robot passage is higher, the weighted value is higher, the robot in this embodiment can be a robot moving through rollers, the gradient with the highest weighted value is higher, the gradient is higher, and the weighted value of the bumpiness is the smallest. Therefore, when determining the traffic values of a plurality of dimensions, filtering can be performed in order of the weight of the dimensions, and the filtering can be performed with the highest efficiency.

And under the condition that the passing value of each dimension does not exceed the passing threshold corresponding to each dimension, the robot can pass, the total passing value of each cell of the first map layer is calculated according to the preset weight of each dimension and the passing value of each dimension, and the passing difficulty or the passing success degree of the robot to the cell is evaluated according to the total passing value.

The total traffic threshold corresponds to the traffic capacity of the robot, that is, the total traffic threshold is obtained by evaluating the robot in advance, and the higher the traffic capacity of the robot is, the higher the climbing capacity is, the rugged traffic capacity is, and the like, the higher the corresponding traffic threshold is.

And under the condition that the total passing value reaches a total passing threshold value, determining that the cells of the first map layer can pass, and determining a passable area according to a plurality of cells which can pass. In other embodiments, the passable path, that is, the navigation path, may also be generated according to a passable area set path generation algorithm.

After the first map layer determines the passable path of the robot, determining whether a collision event exists in the passable area according to the second map layer comprises the following steps: fitting a structure above the passable area according to the point cloud of the second map layer; determining the lowest height of the robot during movement; and determining that the passable area has a collision event when the lowest height is greater than or equal to the lowest height of the structure.

If the passable area has a collision event, the passable area is actually impassable, and if the passable area does not have the collision event, the passable area is actually feasible. Finally, according to one or more passable areas without collision events, an optimal path for the robot to pass is determined as a navigation path, for example, a path with the highest total passing value, or a path with the closest distance, or a path with the highest driving speed, and the like.

It should be noted that this embodiment also provides an alternative implementation, which is described in detail below.

The embodiment provides a passable map construction method based on multi-level height information, which is applied to a ground mobile intelligent agent and is used for assisting the ground mobile intelligent agent to realize safe and efficient autonomous navigation. The mobile agent corresponds to the robot. The method includes the steps that the mobile intelligent agent senses the terrain of a nearby road surface through the mounted sensing device, the elevation map with the hierarchical height is generated, and the passable map which accords with the kinematic constraint of the mobile intelligent agent is constructed on the basis of the elevation map. And the motion planning functional module of the mobile intelligent agent plans a shortest reachable path which avoids or passes through dangerous terrain on the passable map.

FIG. 2 is a flow chart of generating a navigable map based on multiple levels of elevation maps according to an embodiment of the invention, as shown in FIG. 2, the steps of the embodiment are as follows:

1. perception terrain generation three-dimensional point cloud: the ground mobile intelligent agent senses the conditions of the ground nearby (particularly the front) and above the ground through a mounted sensing device to generate an original three-dimensional point cloud of the ground terrain. The sensing devices include, but are not limited to, the following: (1) RGB-D degree of depth camera (2) binocular camera (3) take rotary mechanism's 2D single line laser radar (4) multi-line laser radar of 3D: mechanical, semi-solid or pure solid.

2. Processing the three-dimensional point cloud: receiving an original three-dimensional point cloud of a ground terrain acquired by a perception front end, and firstly extracting a local target three-dimensional point cloud in a stereo region of interest (namely a target region) from the original input original three-dimensional point cloud, wherein the target region is defined as follows: taking the origin of a coordinate system of the intelligent body as a center, setting the length interval range of the advancing direction as the effective sensing distance (sensing blind area/farthest reliable sensing distance) of the sensing and sensing device, and setting the interval range of the height direction as a fixed value, wherein the fixed value is set according to the maximum movable space of the intelligent body, such as +/-1 m; secondly, down-sampling the target three-dimensional point cloud in the target area by using a voxel filter, and homogenizing the distribution of the point cloud in a three-dimensional space; and finally, dividing the down-sampled target three-dimensional point cloud into a lower point cloud layer (lower _ points) close to the ground and an upper point cloud layer (upper _ points) floating in the air according to a set height threshold value.

3. Generating an elevation map: the coordinate system of the elevation map is defined in the body coordinate system of the intelligent body, and the elevation map and the intelligent body are kept moving synchronously, so that the problem that the map has accumulated errors due to odometer positioning accumulated errors can be effectively avoided, and the current elevation map at each moment is ensured to be accurate. The coordinate system of the odometer is defined in a world coordinate system or a navigation coordinate system, and when the pose of the intelligent agent changes (moves or turns), the current elevation map must be updated in time, so that the position of the elevation map in the world coordinate system is updated according to the information of the odometer. Secondly, generating a corresponding lower map layer (lower _ elevation) and a higher map layer (upper _ elevation) in the elevation map according to the input lower point cloud layer and the input higher point cloud layer respectively, and forming the elevation map with two-stage height. The updating judgment basis aiming at the height value of each map cell is as follows: for the lower map layer, if the cloud height value of the current input point is larger than the previous height value, replacing the previous height value with the height value of the current input point cloud, otherwise, keeping the height value of the current map cell unchanged; and for the higher map layer, if the height value of the current input point cloud is smaller than the previous height value, replacing the previous height value with the height value of the current input point cloud, otherwise, keeping the height value of the current map cell unchanged.

The odometry data mentioned in the above description may be provided by, but is not limited to: (1) a body odometer of a mobile agent, (2) a Visual Odometer (VO), (3) a Visual Inertial Odometer (VIO), (4) a Laser Odometer (LO), (5) a Laser Inertial Odometer (LIO), (6) a Laser Visual Inertial Odometer (LVIO), (7) other external positioning systems, such as GPS, RTK GPS, UWB, visual motion capture positioning systems, and the like.

4. Generating a passable map: based on the elevation map with two levels of heights generated in the previous step, firstly, estimating and calculating the feasibility on a lower map layer, and the specific operation method is to design a set of serial filters to sequentially perform the following filtering on the map layer: (1) gradient (slope) filtering to evaluate climbing trafficability, (2) step-by-step (step) filtering to evaluate obstacle crossing feasibility, and (3) roughness (roughness) filtering to evaluate roughness ground trafficability. And generating corresponding passable cost values after each stage of filtering, wherein the effective interval of the cost values is between [0 and 1], the value indicates the passable possibility, 0 represents that the passable cost values cannot pass at all, and 1 represents that the passable cost values can pass at all. If the cost value calculated by the current stage filter exceeds the maximum set threshold, the next stage filtering is not continued. If the filter passes through the 3 stages of filters in sequence, a final cost value is calculated, the specific method is that the cost values output by the 3 filters are subjected to weighted summation according to weights, and the obtained value represents the trafficable possibility of comprehensively considering the climbing capability, the obstacle crossing capability and the rugged ground adaptive capability.

Where the maximum set threshold for each filter in the above description is the maximum motion capability of the agent that can be accommodated when facing a particular terrain, for example, for a slope filter, setting the maximum set threshold to 30 degrees represents a slope of the maximum slope that the agent can climb to 30 degrees. In addition, the weight values reflect the size of the emphasis points of the mobile agent respectively facing to the three terrains. The maximum threshold and weight values of the filter are set to reasonable values according to the kinematic capability of a specific mobile agent, so as to ensure that the generated navigable map is safe and effective.

Secondly, a higher map layer is used for anti-collision detection of the mobile intelligent body, the higher map layer is a key for further improving the passability of the intelligent body on the complex terrain, for the intelligent body (such as a quadruped robot) capable of adjusting the height of the body, when the intelligent body faces terrain environments such as low tables, chairs and channels, a passable map generated based on a traditional single-level elevation map can directly judge the terrain as impassable, and with the multi-level height elevation map provided by the embodiment, the mobile intelligent body can further judge whether to crawl through adapting to the terrain by adjusting the height of the body according to the higher map layer, so that the mobile intelligent body can find more selectable passable paths, and the passing efficiency and the safety of the intelligent body on the complex terrain are improved.

Fig. 3 is a schematic diagram of a multi-level elevation map according to an embodiment of the present invention, and as shown in fig. 3, a navigable map generated based on the multi-level elevation map can improve the safety throughput of a mobile agent in a complex terrain. Based on the multi-level elevation passable map construction method provided by the invention, an intelligent agent can plan a shorter safe path a passing through a low desk; whereas conventional navigable mapping methods can only plan a longer path b around the table.

Fig. 4 is a schematic diagram of a device for generating a robot navigation path according to an embodiment of the present invention, and as shown in fig. 4, according to another aspect of the embodiment of the present invention, there is also provided a device for generating a robot navigation path, including: an acquisition module 42, a grouping module 44, a first generation module 46 and a second generation module 48, which are described in detail below.

The acquisition module 42 is configured to acquire three-dimensional point cloud data of a target environment where the robot is located; a grouping module 44, connected to the obtaining module 42, configured to group the three-dimensional point cloud data according to a preset first height threshold, so as to obtain multiple groups of three-dimensional point cloud layers with different heights, where the first height threshold is one or more height values; a first generating module 46, connected to the grouping module 44, configured to generate an elevation map of the target environment based on the multiple groups of three-dimensional point cloud layers, where the elevation map includes multiple map layers with different heights; and a second generating module 48, connected to the first generating module 46, for generating a navigation path of the robot in the target environment according to the elevation map.

By the device, the three-dimensional point cloud data of the target environment where the robot is located is obtained through the obtaining module 42, the grouping module 44 groups the three-dimensional point cloud data according to the preset first height threshold value to obtain a plurality of groups of three-dimensional point cloud layers with different heights, the first generating module 46 generates an elevation map comprising a plurality of levels of heights based on the plurality of groups of three-dimensional point cloud layers, and the second generating module 48 generates a navigation path of the robot in the target environment according to the elevation map, so that the purpose that the robot is navigated according to the elevation map, the condition that the complex terrain is above a certain height is not considered, the navigation path cannot pass is avoided, the accuracy of the navigation path is improved, the technical effect of an effective navigation path can be provided on the complex terrain, and the problem that the robot generates the navigation path according to a plane map in the related technology is solved, in the case of complex terrain, it is difficult to effectively provide a navigation path.

The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.

In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.

In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.

In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.

The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.

The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种路径规划方法、装置、存储介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!