This application is the National Stage Application of PCT/CN2020/087367, filed on Apr. 28, 2020, which claims priority to Chinese Patent Application No. 202010301450.X, Apr. 16, 2020, which is incorporated by reference for all purposes as if fully set forth herein.
The present invention relates to the technical field of service robots, and more particularly to a sampling method and system for path planning of a mobile robot in a man-machine environment.
The breakthroughs in artificial intelligence technologies have created considerable opportunities for the research of mobile service robots. At present, mobile service robots such as guidance robots, robotic vacuum cleaners, shopping guide robots, and cargo handling robots have already been successfully applied to various environments such as airports, supermarkets, museums, and homes. A path planning technology for a mobile robot is a process that the robot automatically plans a passable path according to the information of an environmental map and the position of a starting point without manual intervention. The path is usually formed by a series of nodes. Compared with an industrial robot, a service mobile robot operates in a more complex man-machine environment, is subject to more uncertainties, and has a higher real-time requirement for path planning.
There may be generally four types of existing classical path planning algorithms: a grid-based path planning algorithm, an artificial potential field-based path planning algorithm, a reward-based path planning algorithm, and a random sampling-based path planning algorithm. Because state space modeling is avoided in the random sampling-based path planning algorithm, a planning time and a memory cost are greatly reduced, so that this algorithm is more suitable for resolving a path planning problem of a dynamic man-machine environment. However, in a current sampling strategy, only relationships between internal nodes in a tree are considered, and the influence of environmental uncertainties on tree growth is ignored. For the man-machine environment in which a service mobile robot operates, the environmental uncertainties mainly include errors in environmental modeling, positioning errors of the robot, influence of moving pedestrians, and the like. Because only relationships between internal nodes in a tree are considered, the influence of environmental uncertainties on tree growth is ignored. As a result, the formed paths are unsafe and unreliable.
In view of this, the technical problem to be resolved by the present invention is to overcome the problem in the prior art that the influence of environmental uncertainties on tree growth is ignored, and as a result formed paths are unsafe and unreliable, to provide a sampling method and system for path planning of a mobile robot in a man-machine environment that introduces uncertain environmental factors and can form a safer and more reliable path.
To resolve the foregoing technical problem, a sampling method for path planning of a mobile robot in a man-machine environment in the present invention includes the following steps: calculating a distance between a node and the closest obstacle on a map, simultaneously detecting a pedestrian in an environment, and marking a position of the pedestrian in the environment; selecting a starting point position as a root node, and initializing a search tree; randomly choosing a candidate node in a passable region, calculating a cumulative cost from a node in the search tree to the candidate node, and choosing a node with the lowest cost as a growth node; performing collision detection on a connecting line between the growth node and the candidate node, and determining whether collision detection succeeds, where if yes, the process turns to Step S5, or otherwise, the process returns to Step S3; connecting the candidate node to the growth node, and determining whether the candidate node is a goal, where if yes, the process turns to Step S6, or otherwise, the process returns to Step S3; and acquiring a node connecting line set from the root node to the goal from the search tree, to form a final path.
In an embodiment of the present invention, the distance between the node and the closest obstacle on the map in Step S1 is capable of being calculated offline, and for the same map, and a calculation result is capable of being repeatedly reused in different path planning.
In an embodiment of the present invention, a method for detecting the pedestrian in the environment includes: Step S11: photographing an environmental picture by using a distributed camera network in the environment; Step S12: detecting the pedestrian by applying a pedestrian detection algorithm, to output a position of the pedestrian in a pixel coordinate system; and Step S13: outputting a position of the pedestrian in a global coordinate system through coordinate conversion according to a camera calibration result.
In an embodiment of the present invention, the node in the search tree in Step S2 includes a node position, a node connection, and a node cost, and in a process of initializing the search tree, a position of the root node is set as a starting point, a node connection is null, and a node cost is zero.
In an embodiment of the present invention, the passable region in Step S3 is a region with a value greater than zero on a closest-obstacle distance map, and a method for calculating the cumulative cost from the node in the search tree to the candidate node is: using a formula
where nnew is the candidate node; ni is a node T in the search tree, and ni∈T; cost(ni) represents a cumulative cost from the root node to ni; dist(·) represents a Euclidean distance between two nodes; angle(·) represents an included angle between two connecting lines, one of which is a connecting line between nnew and ni, and the other is a connecting line between ni and a parent node of ni; dmin represents a distance between ni and the closest obstacle; Sp represents the area of a passable region occupied by the pedestrian on the connecting line between nnew and ni; and φ and ε are constants, φ is the reciprocal of a maximum linear velocity, and ε is the reciprocal of a maximum angular velocity.
In an embodiment of the present invention, the growth node is calculated by using the following formula:
In an embodiment of the present invention, a method for performing collision detection on the connecting line between the growth node and the candidate node includes: Step S41: taking a set C of nodes on the connecting line between the growth node and the candidate node; and Step S42: determining whether values corresponding to all nodes in the set C on a closest-obstacle distance map are greater than zero, where if yes, no collision occurs, and collision detection succeeds; or otherwise, collision occurs, and collision detection fails.
In an embodiment of the present invention, a method for connecting the candidate node to the growth node in Step S5 includes: Step S51: recording a position of the candidate node nnew, and calculating a cost cost(nnew, ngrowth) of the candidate node; and Step S52: setting a parent node of nnew to ngrowth; adding nnew to a subnode list of ngrowth, and establishing an association between the candidate node and a random tree.
In an embodiment of the present invention, a method for acquiring the node connecting line set from the root node to the goal from the search tree in Step S6 includes: Step S61: determining a node ngoal where the goal is located, and setting the node as a current node ncurrent; Step S62: acquiring a parent node nparent of recurrent in the search tree, and adding nparent to the path; and Step S63: determining whether nparent is the root node, where if not, ncurrent=nparent; and the process returns to Step S62, or if yes, the path is outputted, and search is ended.
The present invention further provides a sampling system for path planning of a mobile robot in a man-machine environment, including: an obstacle determining module, configured to: calculate a distance between a node and the closest obstacle on a map, simultaneously detect a pedestrian in an environment, and mark a position of the pedestrian in the environment; an initialization module, configured to: select a starting point position as a root node, and initialize a search tree; a choosing module, configured to: randomly choose a candidate node in a passable region, calculate a cumulative cost from a node in the search tree to the candidate node, and choose a node with the lowest cost as a growth node; a collision detection module, configured to: perform collision detection on a connecting line between the growth node and the candidate node, and determine whether collision detection succeeds; a determining module, configured to: connect the candidate node to the growth node, and determine whether the candidate node is a goal; and a setting module, configured to acquire a node connecting line set from the root node to the goal from the search tree, to form a final path.
Compared with the prior art, the foregoing technical solution of the present invention has the following advantages:
For the sampling method and system for path planning of a mobile robot in a man-machine environment of the present invention, because uncertain environmental factors including the size of a passable region around a node and the area of a passable region occupied by a pedestrian are introduced, the influence of internal relationships between nodes and environmental uncertainties on the choosing of the growth nodes is comprehensively measured, to guide a random tree to grow toward a wide region with fewer pedestrians. Therefore, problems such as that a robot gets lost or encounters collision due to environmental uncertainties are reduced, to form a safer and more reliable path.
To make the content of the present invention clearer and more comprehensible, the present invention is further described in detail below according to specific embodiments of the present invention and the accompanying draws. Where:
As shown in
The sampling method for path planning of a mobile robot in a man-machine environment in this embodiment includes: Step S1: calculating a distance between a node and the closest obstacle on a map, to help to determine a stationary obstacle, simultaneously detecting a pedestrian in an environment, and marking a position of the pedestrian in the environment, to help to determine a moving obstacle; Step S2: selecting a starting point position as a root node, and initializing a search tree, to help to add a starting point to the search tree; Step S3: randomly choosing a candidate node in a passable region, calculating a cumulative cost from a node in the search tree to the candidate node, and choosing a node with the lowest cost as a growth node, to help to ensure the lowest cost from the root node to a current node; Step S4: performing collision detection on a connecting line between the growth node and the candidate node, and determining whether collision detection succeeds, where if yes, the process turns to Step S5, or otherwise, the process returns to Step S3, to help to ensure that there is no obstacle between the growth node and the candidate node; Step S5: connecting the candidate node to the growth node, and determining whether the candidate node is a goal, where if yes, the process turns to Step S6, or otherwise, the process returns to Step S3, to help to determine a goal; and Step S6: acquiring a node connecting line set from the root node to the goal from the search tree, to form a final path. Because in the present invention, uncertain environmental factors including the size of a passable region around a node and the area of a passable region occupied by a pedestrian are introduced, the influence of internal relationships between nodes and environmental uncertainties on the choosing of the growth nodes is comprehensively measured, to guide a search tree to grow toward a wide region with fewer pedestrians. Therefore, problems such as that a robot gets lost or encounters collision due to environmental uncertainties are reduced, to form a safer and more reliable path.
As shown in
In addition, a method for detecting the pedestrian in the environment includes:
In a variant, pedestrian detection may be alternatively implemented by using another sensor such as a laser sensor.
The node in the search tree in Step S2 includes a node position, a node connection, and a node cost, and in a process of initializing the search tree, a position of the root node is set as a starting point, a node connection is null, and a node cost is zero, so that a starting point can be added to the search tree. Therefore, after the search tree is initialized, only the root node is included.
The passable region in Step S3 is a region with a value greater than zero on a closest-obstacle distance map, and
A method for randomly choosing the candidate node in the passable region is: assigning a unique index number to a node in the passable region, and randomly choosing one index number, where a node corresponding to the index number is the candidate node.
A method for calculating the cumulative cost from the node in the search tree to the candidate node is: using a formula
where nnew is the candidate node; ni is a node T in the search tree, and ni∈T; cost(ni) represents a cumulative cost from the root node to ni; dist(·) represents a Euclidean distance between two nodes; angle(·) represents an included angle between two connecting lines, one of which is a connecting line between nnew and ni, and the other is a connecting line between ni and a parent node of ni; dmin represents a distance between ni and the closest obstacle; Sp represents the area of a passable region occupied by the pedestrian on the connecting line between nnew and ni; and φ and ε are constants, and are used for measuring the influence of distance and angle differences on a cost. For a robot, φ is the reciprocal of a maximum linear velocity, and ε is the reciprocal of a maximum angular velocity. When dmin is larger, it indicates that the passable region around ni is larger. When a quantity of pedestrians is smaller, the passable region occupied by ΣSp is smaller, and the robot operates more safely.
The growth node is calculated by using the following formula:
Nodes in the search tree are traversed to select a node with the lowest cumulative cost to the candidate node as the growth node of the candidate node, thereby helping to ensure the lowest cost from the root node to a current node.
As shown in
A method for performing collision detection on the connecting line between the growth node and the candidate node in Step S4 includes:
During the foregoing collision detection, it is preferentially selected to detect only a stationary obstacle. For an environment with heavy traffic, it is highly probable that a connecting line collides with a pedestrian, and at the same time, collision detection on a moving pedestrian tends to cause reduced planning efficiency or even a planning failure. Therefore, for a growth process of the search tree, collision detection of a moving obstacle can be skipped.
A method for connecting the candidate node to the growth node in Step S5 includes:
A method for acquiring the node connecting line set from the root node to the goal from the search tree in Step S6 includes:
As shown in
Based the same inventive concept, this embodiment provides a sampling system for path planning of a mobile robot in a man-machine environment. The problem-solving principle of the sampling system is the same as that of the sampling method for path planning of a mobile robot in a man-machine environment. Details are no longer repeated.
The sampling system for path planning of a mobile robot in a man-machine environment in this embodiment includes:
A person skilled in the art should understand that the embodiments of the present application may be provided as a method, a system or a computer program product. Therefore, the present application may use a form of hardware embodiments, software embodiments, or embodiments with a combination of software and hardware. Moreover, the present application may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, a CD-ROM, an optical memory, and the like) that include computer usable program code.
The present application is described with reference to the flowcharts and/or block diagrams of the method, the device (system), and the computer program product according to the embodiments of the present application. It should be understood that computer program instructions may be used to implement each process and/or each block in the flowcharts and/or the block diagrams and a combination of a process and/or a block in the flowcharts and/or the block diagrams. These computer program instructions may be provided for a general-purpose computer, a dedicated computer, an embedded processor, or a processor of any other programmable data processing device to generate a machine, so that the instructions executed by a computer or a processor of any other programmable data processing device generate an apparatus for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
These computer program instructions may be stored in a computer readable memory that can instruct the computer or any other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
These computer program instructions may be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, thereby generating computer-implemented processing. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
Obviously, the foregoing embodiments are merely examples for clear description, rather than a limitation to implementations. For a person of ordinary skill in the art, other changes or variations in different forms may also be made based on the foregoing description. All implementations cannot and do not need to be exhaustively listed herein. Obvious changes or variations that are derived there from still fall within the protection scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
202010301450.X | Apr 2020 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2020/087367 | 4/28/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2021/208143 | 10/21/2021 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
9400501 | Schnittman | Jul 2016 | B2 |
20060241827 | Fukuchi | Oct 2006 | A1 |
20100145552 | Herman | Jun 2010 | A1 |
20140129027 | Schnittman | May 2014 | A1 |
20140207282 | Angle | Jul 2014 | A1 |
20170029213 | Johnson | Feb 2017 | A1 |
20180095465 | Gao | Apr 2018 | A1 |
20180308371 | Cao et al. | Oct 2018 | A1 |
Number | Date | Country |
---|---|---|
106444769 | Feb 2017 | CN |
106774347 | May 2017 | CN |
108241375 | Jul 2018 | CN |
109571466 | Apr 2019 | CN |
Number | Date | Country | |
---|---|---|---|
20220316885 A1 | Oct 2022 | US |