CN111665844B - Path planning method and device - Google Patents

Path planning method and device Download PDF

Info

Publication number
CN111665844B
CN111665844B CN202010580847.7A CN202010580847A CN111665844B CN 111665844 B CN111665844 B CN 111665844B CN 202010580847 A CN202010580847 A CN 202010580847A CN 111665844 B CN111665844 B CN 111665844B
Authority
CN
China
Prior art keywords
path
obstacle
determining
paths
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010580847.7A
Other languages
Chinese (zh)
Other versions
CN111665844A (en
Inventor
张邦彦
庞勃
郭彦杰
王包东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010580847.7A priority Critical patent/CN111665844B/en
Publication of CN111665844A publication Critical patent/CN111665844A/en
Application granted granted Critical
Publication of CN111665844B publication Critical patent/CN111665844B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0263Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The unmanned equipment can determine a first path through a preset evaluation function according to the current position coordinates, the obstacle information of all obstacles in the surrounding environment and the destination coordinates, then determine a plurality of second paths taking the current position as a starting point according to the preset path length, the preset path shape and the preset path orientation, then perform obstacle avoidance processing on the second paths according to the obstacle information of all the obstacles, and finally determine a driving path from all the paths to be selected according to the projection of vectors of the paths to be selected from the current position coordinates to the destination coordinates. The second paths are preset, obstacle avoidance processing is carried out on the second paths, and then the driving paths are determined according to the first paths and the distances between the second paths and the destination, so that the situation that the first paths cannot avoid the obstacle in advance and cannot be reached due to unbalanced setting of weight parameters in the evaluation function is avoided.

Description

Path planning method and device
Technical Field
The application relates to the technical field of unmanned aerial vehicle, in particular to a path planning method and device.
Background
With the development of unmanned technology, more and more unmanned devices are widely used. In the process of executing tasks, the unmanned device needs to conduct path planning in real time according to the position of the destination and the obstacle information of the surrounding environment so as to reach the destination along the planned path.
In the prior art, a common path planning method of the unmanned equipment is that a plurality of paths to be selected are determined according to the current position of the unmanned equipment, the position of a destination and barrier information of surrounding environment, each path to be selected is scored through an evaluation function, and the path to be selected with the highest score is determined to be used as a driving path at the next moment. By repeating the above procedure, the destination is reached through several path planning.
Assuming that the evaluation function is p (n) =αf (x) +βg (y), where x is the minimum distance between the unmanned device and the obstacle during traveling along the candidate route, f (x) is greater as x is greater, y is the distance between the unmanned device and the destination after traveling along the candidate route, g (y) is greater as y is smaller, α and β are weights preset empirically, respectively, and α+β=1, p (n) represents the score of the nth candidate route.
However, when each route to be selected is scored by the above evaluation function, the weights α and β set in the evaluation function cannot be fully adapted to various scenes during the travel of the unmanned apparatus. For example: when the weight α of the distance from the obstacle is large and the weight β of the distance from the destination is small in the evaluation function, if there is an obstacle around the destination, there may be a case where the unmanned apparatus cannot reach the destination. When the weight alpha of the distance between the unmanned equipment and the obstacle is smaller and the weight beta of the distance between the unmanned equipment and the destination is larger in the evaluation function, the unmanned equipment can avoid the obstacle when the unmanned equipment is closer to the obstacle, and the problem that the obstacle cannot be avoided in advance and the driving path is farther can occur.
Disclosure of Invention
The embodiment of the specification provides a path planning method and device, which are used for partially solving the problems in the prior art.
The embodiment of the specification adopts the following technical scheme:
the path planning method provided by the specification comprises the following steps:
the unmanned device determines the coordinates of the current position of the unmanned device and the obstacle information of each obstacle in the surrounding environment, wherein the obstacle information at least comprises the coordinates of the obstacle;
Determining a first path through a preset evaluation function according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination;
determining a plurality of second paths by taking the current position as a starting point according to preset path length, path shape and path orientation;
determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a mode of avoiding collision with the obstacle;
taking the first path and the second path as a path to be selected;
and respectively determining projections of all the paths to be selected on the vector according to the vector from the coordinates of the current position to the coordinates of the destination, and determining the driving path of the unmanned driving equipment from all the paths to be selected according to the determined projections, wherein the larger the projection determined according to the paths to be selected is, the larger the probability that the paths to be selected are the driving paths is.
Optionally, determining a plurality of second paths according to a preset path length, path shape and path orientation specifically includes:
for each preset path orientation, determining a second path in the path orientation according to the preset path length and the path shape in the path orientation;
Wherein, the preset path lengths are not identical, and the preset path shapes are not identical.
Optionally, determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a manner of avoiding collision with an obstacle, which specifically includes:
determining a second path along which the vehicle runs and collides with any obstacle according to the obstacle information of each obstacle in the surrounding environment, and taking the second path as each second path to be adjusted;
aiming at each second path to be adjusted, taking the current position as a center, and adjusting the path orientation of the second path along a preset direction according to a preset unit angle;
judging whether the vehicle runs along the adjusted second path to collide with any obstacle;
if so, continuously adjusting the path orientation of the second path along the preset direction according to the preset unit angle until the second path after adjustment runs without collision with any obstacle;
if not, updating the second path according to the adjusted path orientation of the second path.
Optionally, the method further comprises:
And deleting the second paths when the accumulated adjustment angle of the second paths is larger than the interval angle between the path orientations of the second paths.
Optionally, the method further comprises:
for each path to be selected, determining a plurality of sub paths of the path to be selected according to a preset step length, and determining a vector from the coordinates of the path starting point of each sub path to the coordinates of the destination;
determining the projection of each sub-path of the path to be selected on the vector, and determining the projection of the path to be selected according to the determined projection of each sub-path of the path to be selected;
and determining the driving path of the unmanned driving equipment from each path to be selected according to the determined projection of each path to be selected.
Optionally, determining the driving path of the unmanned driving device from the paths to be selected according to the determined projection specifically includes:
determining the last travel path as a third path;
determining the change angle of the path to be selected according to the direction of the third path and the direction of the path to be selected;
and determining the driving path of the unmanned driving equipment from each candidate path according to the determined change angle and the projection of the candidate path on the vector.
Optionally, the same path includes a plurality of second paths in an upward direction;
the method further comprises the steps of:
for each preset path orientation, determining each second path in the path orientation according to preset path lengths and path shapes in the path orientation.
The present specification provides a path planning apparatus including:
the unmanned aerial vehicle comprises an obstacle information determining module, a control module and a control module, wherein the unmanned aerial vehicle determines the coordinates of the current position of the unmanned aerial vehicle and the obstacle information of each obstacle in the surrounding environment, and the obstacle information at least comprises the coordinates of the obstacle;
the first path determining module is used for determining a first path through a preset evaluation function according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination;
the second path determining module is used for determining a plurality of second paths by taking the current position as a starting point according to preset path length, path shape and path orientation;
the adjusting module is used for determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a mode of avoiding collision with the obstacle;
The route to be selected determining module takes the first route and the second route as the route to be selected;
and the driving path determining module is used for respectively determining the projection of each path to be selected on the vector according to the vector from the coordinate of the current position to the coordinate of the destination, and determining the driving path of the unmanned driving equipment from each path to be selected according to the determined projection, wherein the larger the projection determined according to the path to be selected is, the larger the probability that the path to be selected is the driving path is determined.
A computer readable storage medium is provided in the present specification, the storage medium storing a computer program, which when executed by a processor, implements the path planning method described above.
The unmanned device comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor realizes the path planning method when executing the program.
The above-mentioned at least one technical scheme that this description embodiment adopted can reach following beneficial effect:
when the path planning is carried out, the unmanned equipment can firstly determine the coordinates of the current position of the unmanned equipment and the obstacle information of each obstacle in the surrounding environment, and determine a first path through a preset evaluation function according to the determined coordinates of the current position, the determined obstacle information of the surrounding environment and the determined coordinates of the destination, then determine a plurality of second paths by taking the current position as a starting point according to the preset path length, the preset path shape and the preset path orientation, then carry out obstacle avoidance processing on each second path according to the obstacle information of each obstacle, and finally determine the driving path from each candidate path according to the projection of the vector of each candidate path from the coordinates of the current position to the coordinates of the destination. The larger the projection determined according to the route to be selected is, the larger the probability that the route to be selected is a driving route is determined. The second paths are preset, obstacle avoidance processing is carried out on the second paths, and then the driving paths are determined according to the first paths and the distances between the second paths and the destination, so that the situation that the first paths cannot avoid the obstacle in advance and cannot be reached due to unbalanced setting of weight parameters in the evaluation function is avoided.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
fig. 1 is a flow chart of a path planning method according to an embodiment of the present disclosure;
FIG. 2a is a schematic diagram of a path planning provided in an embodiment of the present disclosure;
FIG. 2b is a schematic diagram of another path plan provided by an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of determining a second path provided by an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of adjusting the path orientation of the second path according to the embodiment of the present disclosure;
FIG. 5 is a schematic view of a projection of a determination of a candidate path provided in an embodiment of the present disclosure;
fig. 6 is a schematic path diagram of a candidate path according to an embodiment of the present disclosure;
FIG. 7 is a schematic diagram of a projection of a determination of a candidate path provided in an embodiment of the present disclosure;
FIG. 8 is a schematic diagram of a projection of a determination of a candidate path provided in an embodiment of the present disclosure;
FIG. 9a is a schematic diagram of a path plan provided in an embodiment of the present disclosure;
FIG. 9b is a schematic diagram of a path plan provided by an embodiment of the present disclosure;
FIG. 9c is a schematic diagram of a path plan provided by an embodiment of the present disclosure;
fig. 10 is a schematic structural diagram of a path planning apparatus according to an embodiment of the present disclosure;
fig. 11 is a schematic diagram of an electronic device for implementing a path planning method according to an embodiment of the present disclosure.
Detailed Description
For the purposes of making the objects, technical solutions and advantages of the present specification more apparent, the technical solutions of the present application will be clearly and completely described below with reference to specific embodiments of the present specification and corresponding drawings. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art without the exercise of inventive faculty, are intended to be within the scope of the application, based on the embodiments in the specification.
The following describes in detail the technical solutions provided by the embodiments of the present application with reference to the accompanying drawings.
Fig. 1 is a path planning process provided in the embodiment of the present disclosure, which specifically includes the following steps:
s100: the unmanned device determines the coordinates of its current position, and the obstacle information of each obstacle in the surrounding environment.
In general, in the running process of executing a task, an unmanned device needs to perform path planning in real time according to its own position, environmental information of surrounding environment and a destination position of the task, so as to avoid an obstacle and run towards the destination. Since the location of the destination is generally fixed, the unmanned device needs to determine coordinates of its current location and obstacle information of each obstacle in the surrounding environment in real time to perform path planning through subsequent steps when performing path planning in this specification.
Specifically, when the path planning is performed, the unmanned device may first determine the coordinates of the current position of the unmanned device and the obstacle information of each obstacle in the surrounding environment, so as to perform the path planning subsequently. The obstacle information at least includes coordinates of the obstacle, and further, since the obstacle generally has a certain size, the obstacle needs to be avoided according to the size and shape of the obstacle, and thus the obstacle information may further include information such as the size and shape of the obstacle. The path planning method provided in the present specification may be executed by the unmanned device, or may be executed by a server controlling the unmanned device to travel, which is not limited in this specification and may be set as needed. For convenience of description, the following steps will be described by taking the unmanned device as an example to perform the path planning.
S102: and determining a first path through a preset evaluation function according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination.
In the embodiment of the present disclosure, after determining the coordinates of the current position of the unmanned device and the obstacle information of the surrounding environment, the path planning may be performed according to the destination of the task.
Specifically, the unmanned device may determine coordinates of a destination of a task according to task information of the task to be executed. And finally, scoring each planned path through a preset evaluation function according to the distance between the unmanned equipment and the obstacle after traveling along each planned path and the distance between the unmanned equipment and the destination after traveling along each planned path, and determining the planned path with the highest score as a first path.
Wherein the evaluation function is generally expressed as p (n) =αf (x) +βg (y), x represents a distance from the obstacle after the unmanned device travels along the planned path, y represents a distance from the destination after the unmanned device travels along the candidate path, f (x) represents a score of a distance from the obstacle after the unmanned device travels along the planned path, g (y) represents a score of a distance from the destination after the unmanned device travels along the planned path, α represents a weight of a distance from the obstacle, β represents a weight of a distance from the destination, n represents an nth planned path, and p (n) represents a score of the planned path. The larger x is, the higher f (x) is, the smaller y is, and the higher g (y) is. That is, the farther the distance from the obstacle after traveling along the planned path, the higher the score of the planned path, and the closer the distance from the destination when traveling along the planned path, the higher the score of the planned path. Where α and β may be normalized.
In this specification, the evaluation function may also set in advance a weight α from the obstacle distance and a weight β from the destination distance according to the task scene requirement. At present, each weight in the evaluation function is manually set according to experience, but because the setting of weight parameters cannot completely meet various scenes in the running process of the unmanned equipment, planning failure or detour running phenomenon can occur in some scenes. For example, when the weight α of the evaluation function from the obstacle is set large and the target point is close to the obstacle, it may cause a phenomenon that the target point is not reachable.
Because different task scenes have different scene requirements, the evaluation function needs to be adjusted to different weight values under different task scenes. For example: when the safety requirement on the unmanned equipment in the driving process is high, namely the unmanned equipment is far away from the obstacle in the driving process, collision with the obstacle is avoided, the weight alpha of the distance between the unmanned equipment and the obstacle can be set to be a large value, and the determined driving path is far away from the obstacle as far as possible. When the driving efficiency requirement is high in the driving process of the unmanned equipment, namely the destination is reached quickly, the weight beta of the distance from the destination can be set to be a large value, so that the unmanned equipment can reach the destination quickly along a determined driving path.
In step S102 of the present specification, when the first path is determined from each planned path by the evaluation function, the path planning may be performed by using a vector space histogram (Vector Field Histogram, VFH) method or a dynamic window (Dynamic Window Approach, DWA) method, and the present specification is not limited thereto as long as the algorithm for determining the path planning of the travel path by the evaluation function is applicable.
S104: and determining a plurality of second paths by taking the current position as a starting point according to the preset path length, path shape and path orientation.
In the embodiment of the present disclosure, when the path is planned by the evaluation function, the weight setting of each influencing factor in the evaluation function is often a fixed value set according to experience, and various scenes during the driving process cannot be satisfied, for example, taking the unmanned device as an unmanned vehicle as an example, if the weight α of the obstacle distance set in the evaluation function is smaller, that is, insensitive to the obstacle, then in the case shown in fig. 2a, the unmanned vehicle is difficult to avoid the obstacle in advance, and the safety is poor. Assuming that the weight α of the obstacle distance set in the evaluation function is large, i.e., sensitive to the obstacle, in the case shown in fig. 2b, the unmanned vehicle may avoid the obstacle in advance, and cannot reach the destination from between the two obstacles, and the distance to reach the destination is long. Therefore, in the present specification, a plurality of second paths may be further set to complement the first paths, so as to achieve a better path planning effect.
Further, since the path orientation of the first path determined by the evaluation function in step S102 is already relatively accurate, the path is not reachable in some directions due to the setting of the weight parameters in the evaluation function. Thus, the present specification reduces the phenomenon that paths are not reachable in some directions by determining the second path in each preset direction at a fixed angle of separation to supplement the first path with the second path in each different direction.
Specifically, the unmanned device may determine, for each preset path orientation, a second path in the path orientation based on a preset path length and a path shape in the path orientation, starting from the current position. Wherein, the preset path lengths are not identical, and the preset path shapes are not identical. As shown in fig. 3, taking the unmanned device as an example of the unmanned vehicle, assuming that the preset path lengths of the second paths are all 100 meters, the preset path shapes are all straight lines, the second paths are A, B, C, D, E, F, G, H, and the path orientations of the second paths are respectively north, north and east 45 degrees, east, south and south 45 degrees, south and west 45 degrees, and are uniformly distributed according to the interval angle of 45 degrees. Of course, the path lengths in the directions of the paths may be preset as required, and the path lengths in the directions of the different paths may be the same or different. The shape of the path may be a curve or a straight line. The interval angle between the directions of the paths can be set according to the needs, the smaller the interval angle is, the more the determined second paths are, the better the supplementing effect on the first paths is, and the occurrence probability of the unreachable phenomenon is reduced.
S106: and determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a mode of avoiding collision with the obstacle.
In the embodiment of the present disclosure, since the path orientations of the second paths are all preset, the obstacle avoidance operation is not performed. Therefore, when the driving paths are determined from the second paths, the obstacle avoidance operation is required to be performed on the second paths so as to avoid collision with the obstacle when the vehicle is driven along the second paths.
Specifically, the unmanned device may determine, according to the determined obstacle information of each obstacle in the surrounding environment, a second path along which the unmanned device runs and collides with the obstacle from each second path as each second path to be adjusted, then, for each second path to be adjusted, adjust the direction of the second path along a preset direction with the current position of the unmanned device as the center according to a preset unit angle, then, determine whether the unmanned device runs along the adjusted second path and collides with the obstacle, if so, continuously adjust the direction of the second path along the preset direction according to the preset unit angle until the unmanned device does not collide with the obstacle, if not, update the second path according to the adjusted direction of the second path. The preset unit angle can be 5 degrees, 10 degrees and the like, the preset direction can be clockwise or anticlockwise, the specification is not limited, and the preset unit angle can be set according to requirements.
Taking each second path shown in fig. 3 as an example, assuming that a circular obstacle exists in the north-to-east direction, the preset direction is counterclockwise, and the preset unit angle is 5 °, as shown in fig. 4, the second path B running along the north-to-east 45 ° direction collides with the obstacle, so the second path B is the second path to be adjusted. Then, the path direction of the second path B can be adjusted by 5 ° in the counterclockwise direction to obtain a second path B1, and it can be determined that the vehicle traveling along the second path B1 collides with the obstacle according to the obstacle information of the circular obstacle. And then the path direction of the second path B1 can be adjusted by 5 degrees according to the anticlockwise direction to obtain a second path B2, according to the obstacle information of the circular obstacle, the second path B2 can be determined to be the updated second path B if the vehicle can not collide with the obstacle when traveling along the second path B2.
S108: and taking the first path and the second path as candidate paths.
S110: and respectively determining the projection of each route to be selected on the vector according to the vector from the coordinates of the current position to the coordinates of the destination, and determining the driving route of the unmanned driving equipment from each route to be selected according to the determined projection.
In the embodiment of the present disclosure, after the first path and the second path are determined, the obstacle avoidance operation has been performed on the first path and the second path through step S102 and step S106, respectively, so that the travel path can be determined therefrom only according to the distances between the first path and the destination and the second path.
Specifically, the server may first use the determined first path and the determined plurality of second paths as the paths to be selected. Then a vector from the coordinates of the current location to the coordinates of the destination is determined, and for each candidate path, a projection of the candidate path on the vector is determined. And finally, determining the driving path of the unmanned equipment from the paths to be selected according to the determined projection of the paths to be selected. As shown in fig. 5, taking the unmanned device as an example of the unmanned vehicle, a vector from the coordinates of the current position of the unmanned vehicle to the coordinates of the destination may be determined first. When determining the projection of the candidate path M on the vector, the projection +m of the candidate path M on the vector may be determined according to the start point of the candidate path and the end point of the candidate path M. When determining the projection of the candidate path N on the vector, the projection +n of the candidate path N on the vector may be determined according to the start point of the candidate path and the end point of the candidate path N. It can be seen that the projection of the candidate path onto the vector is independent of the shape of the candidate path, and only related to the start point and the end point of the candidate path. It should be noted that, when the direction of the route to be selected is opposite to the direction from the current position to the destination (the direction of the route to be selected is at an obtuse angle to the line from the current position to the destination), the projection of the route to be selected on the vector is the projection on the extension line of the vector, the projection may be determined to be a negative value, and when the direction of the route to be selected is same as the direction from the current position to the destination (the direction of the route to be selected is at an acute angle to the line from the current position to the destination), the projection of the route to be selected on the vector may be determined to be a positive value.
Further, since the path shape of each candidate path is a curve, when determining the projection of the curve on the vector, it is not accurate to determine the projection of the candidate path on the vector only according to the start point and the end point of the candidate path. Moreover, since there may be a deviation of the path orientation of a part of the paths from the destination, as shown in fig. 6, the path orientation of the path of the broken line part of the paths P is deviated from the destination, and the path orientation of the path of the solid line part of the paths P is the same direction as the destination. Therefore, when the path orientation of a part of the paths in the candidate path deviates from the destination, the projection of the candidate path on the vector is not accurate enough only according to the starting point and the ending point of the candidate path. The projection of each candidate path onto the vector can then be determined in the present specification using the following method.
Specifically, for each route to be selected, a plurality of sub-routes of the route to be selected can be determined according to a preset step length, a vector from coordinates of a route start point of each sub-route to coordinates of the destination is determined, then for each sub-route of the route to be selected, projection of the sub-route on the vector is determined, projection of the route to be selected is determined according to the determined projection of each sub-route, and finally, a driving route of the unmanned equipment is determined from each route to be selected according to the determined projection of each route to be selected.
Similarly, when the sub-path is oriented in the opposite direction from the current location to the destination (the path orientation of the sub-path is at an obtuse angle to the line from the current location to the destination), where the projection of the sub-path onto the vector is the projection onto the extension of the vector, the projection may be determined to be negative, and when the sub-path is oriented in the same direction as the direction from the current location to the destination (the path orientation of the sub-path is at an acute angle to the line from the current location to the destination), the projection of the sub-path onto the vector may be determined to be positive.
Still taking the unmanned device as an example of the unmanned vehicle, as shown in fig. 7, when determining the projection of the route B to be selected, the vector from the current position to the destination may be determined first, and then the route B to be selected is divided into a sub-route ab, a sub-route bc, and a sub-route cd according to a preset unit length. Then, determining that the projection length of the sub-path ab on the vector is x1, the projection length of the sub-path bc on the vector is x1, the projection length of the sub-path cd on the vector is x3, and since the path orientations of the sub-paths of the candidate path B are all in the same direction as the direction from the current position to the destination, the projection of the sub-paths of the candidate path B on the vector can be determined to be positive, and the projections of the sub-paths can be determined to be +x1, +x2, +x3 respectively, and the projection of the candidate path B is x1+x2+x3.
Similarly, when determining the projection of the route H to be selected, as shown in fig. 8, the vector from the current position to the destination may be determined first, and then the route H to be selected is divided into a sub-route ef, a sub-route fg, and a sub-route gh according to a preset unit length. Then, it may be determined that the projection length of the sub-path ef on the vector is x4, the projection length of the sub-path fg on the vector is x5, the projection length of the sub-path gh on the vector is x6, and since the path orientation of each sub-path of the candidate path H is opposite to the orientation from the current position to the destination, it may be determined that the projection of each sub-path of the candidate path H on the vector is negative, it may be determined that the projection of each sub-path is-x 4, -x5, -x6, and the projection of the candidate path H is-x 4-x5-x6.
In addition, in order to reduce the route switching frequency, the travel route is made smoother. The travel path may also be determined from among the candidate paths according to the orientation angle that needs to be changed when traveling along each candidate path. Specifically, the last travel path in history may be determined first as a third path, then a change angle of the path to be selected is determined according to the direction of the third path and the direction of the path to be selected, and finally the travel path of the unmanned device is determined from the paths to be selected according to the determined change angle and the projection of the path to be selected on the vector from the current position to the destination. Wherein, the smaller the change angle is, the higher the probability of being determined as the travel path is.
Based on the path planning method shown in fig. 1, the unmanned device may determine the coordinates of the current position of the unmanned device and the obstacle information of each obstacle in the surrounding environment, determine the first path according to the determined coordinates of the current position, the determined obstacle information of the surrounding environment and the determined coordinates of the destination through a preset evaluation function, determine a plurality of second paths according to the preset path length, the preset path shape and the preset path orientation by taking the current position as a starting point, perform obstacle avoidance processing on each second path according to the obstacle information of each obstacle, and finally determine the driving path from each candidate path according to the projection of the vector of each candidate path from the coordinates of the current position to the coordinates of the destination. The larger the projection determined according to the route to be selected is, the larger the probability that the route to be selected is a driving route is determined. The second paths are preset, obstacle avoidance processing is carried out on the second paths, and then the driving paths are determined according to the first paths and the distances between the second paths and the destination, so that the situation that the first paths cannot avoid the obstacle in advance and cannot be reached due to unbalanced setting of weight parameters in the evaluation function is avoided.
In fig. 2a, when the weight α of the obstacle distance set in the evaluation function is smaller, the determined first path cannot avoid the obstacle in advance, in this specification, a plurality of second paths may be set, and in fig. 9a, an example is illustrated by setting one path, and in fig. 9a, the second path is a preset path direction and a preset path length, where the preset path length of the second path is greater than the path length of the first path. And according to the distance between each candidate path and the destination, the second path can be determined to be used as a driving path for driving, and obstacle avoidance can be performed in advance.
In fig. 2b, when the weight α of the obstacle distance set in the evaluation function is large and the path length of the first path is long, the planned first path can only be upward or downward, and the first path cannot reach the destination from between the two obstacles. At this time, when the vehicle runs along the first path, the vehicle can bypass the road, so that the distance of the running path is longer. In this specification, a plurality of second paths may be provided, and one second path is illustrated in fig. 9b by way of example, and the second path is illustrated in fig. 9b as a preset path direction and a preset path length, where the preset path length of the second path is smaller than that of the first path. Then, according to the distance between each candidate path and the destination, a second path can be determined as a travel path along which travel can reach the destination from between two obstacles, reducing travel time and travel path length.
As shown in fig. 9c, assuming that an irregular obstacle exists between the current position of the unmanned vehicle and the destination, the preset path length of the second path is the same as the path length of the second path, the first path can be determined according to the coordinates of the current position of the unmanned vehicle and the coordinates of the destination according to the obstacle information of the obstacle, and if the first path is taken as the driving path, the unmanned vehicle is far away from the destination and can bypass, so that the distance of the driving path is longer. In this specification, a plurality of second paths may be set, and fig. 9c illustrates an exemplary setting of one second path, and fig. 9c illustrates that the second path is a preset path direction, and the preset path shape is a curve, and then according to the distance between each candidate path and the destination, the second path may be determined to be used as a driving path to drive, so that the unmanned vehicle reaches the destination faster.
Because the actual environment in the driving process of the unmanned equipment has uncertainty, when each second path is determined, a plurality of different combinations of preset path length, preset path shape and preset path orientation can be set so as to solve various unreachable phenomena or various problems such as detour driving and the like of the unmanned equipment in the actual environment.
In step S106 of the present specification, when there is an obstacle of a large size or a continuously dense obstacle in a certain direction in the surrounding environment, if the path orientation of the second path is adjusted within a certain range, the second path may collide with the obstacle when the vehicle travels along the adjusted second path. Specifically, when the cumulative adjustment angle of the second paths is greater than the interval angle between the path orientations of the second paths, deleting the second paths.
It should be noted that, the path planning method provided in the present specification is local path planning, and the unmanned device may perform local path planning once every other interval. The path length of the first path and the path length of the second path described in the specification are both greater than or equal to the driving distance of the unmanned device in the interval time, and no matter whether the unmanned device has driven the path length of the driving path in the interval time, the local path planning needs to be performed again to redetermine the driving path, wherein the interval time can be set according to the requirement.
In order to make the second paths achieve better effect, when the first paths are unbalanced in the weight parameter setting in the evaluation function, the situation that the obstacle cannot be avoided in advance and the path with the shortest distance cannot be selected for running is supplemented, and when the second paths are determined, a plurality of second paths with different path lengths and different path shapes can be arranged on the same path. Specifically, when determining each second path, each second path in the path direction may be determined according to a preset path length and a preset path shape in the path direction for each preset path direction.
In addition, in the embodiment of the present specification, the travel path may also be determined based on only the sub-path of the last step of each candidate path. When the sub-path of the last step of the route to be selected is in the same direction as the direction from the current position to the destination and is closer to the destination, the route to be selected can be determined as a driving route. In this specification, therefore, the projection of each candidate path may also be determined from the projection of the sub-path of the last step of each candidate path onto the vector.
Further, if the travel path is biased according to the scene request, for example, the unmanned device is required to travel to a high place. When scoring each candidate path in the specification, determining a path deviation evaluation value of the candidate path according to the scene deviation requirement for each candidate path, and determining a driving path from each candidate path according to the determined path deviation evaluation value, projection length and change angle of the path.
In addition, in the present specification, the unmanned aerial vehicle may be an unmanned aerial vehicle, and since the unmanned aerial vehicle can fly in various directions in space, when the unmanned aerial vehicle is an unmanned aerial vehicle, the preset direction of the second path may be various directions in a three-dimensional space.
In step S100 of the present specification, the unmanned apparatus can perform positioning by a global positioning system (Global Positioning System, GPS) mounted on the unmanned apparatus when determining the coordinates of the current position of the unmanned apparatus. The method can also obtain the point cloud information of the laser point cloud in the surrounding environment through the self-carried laser radar equipment, and determine the current position of the self-carried laser radar equipment by matching with a preset laser point cloud map. Or the image sensor carried by the unmanned aerial vehicle acquires the environmental image of the surrounding environment, and determines the current position of the unmanned aerial vehicle from the preset electronic map in a characteristic extraction and characteristic matching mode, so that the positioning method of the unmanned aerial vehicle is not limited and can be set according to requirements.
When determining the obstacle information of the obstacle in the surrounding environment, the image sensor mounted on the unmanned device may collect the environmental image of the surrounding environment, and determine each obstacle and the obstacle information in each environmental image. Laser point clouds in the surrounding environment can be collected through laser radar equipment carried on unmanned equipment, and obstacle information of each obstacle in the surrounding environment is determined according to the point cloud information of each laser point cloud. Alternatively, the obstacle information of each obstacle in the surrounding environment may be determined by an ultrasonic sensor mounted on the unmanned apparatus. The present specification does not limit the manner of determining the obstacle information of each obstacle in the surrounding environment, and may be set as needed.
In addition, the unmanned vehicle can be used for unmanned delivery in the specification, the path planning method provided by the specification can be specifically applied to path planning in the delivery process by using the unmanned vehicle, and when the unmanned vehicle delivers, the delivery path can be planned for delivery according to the determined self position and destination. The method is particularly applicable to: for example, in a scenario where delivery such as express delivery and take-out is performed using an unmanned vehicle.
Further, in the present specification, the main body of the unmanned vehicle control process is not limited, and the robot having the movement function may perform positioning by executing the visual positioning method during movement, or the vehicle having the unmanned function may perform movement state planning by executing the unmanned vehicle control process when the unmanned function is implemented, or may perform movement state planning by executing the process when the intelligent vehicle controls the movement state of the vehicle. For example, the vehicle is utilized to control the state of motion of the vehicle through the state of motion planning process when the vehicle is using the adaptive cruise control (Adaptive Cruise Control, ACC) function, and so on. The main body for executing the movement state planning process in the present specification may be an unmanned vehicle, a robot, an intelligent vehicle, a vehicle with unmanned function, or the like, and the present specification is not limited thereto.
In step S110 of the present specification, when determining the projection of each candidate path, the projection of the entire candidate path on the vector may be determined directly, or the projection of the candidate path may be determined according to the projection of each sub-path of the candidate path on the vector, or any one of the methods of determining the projection of the candidate path may be selected, or the two methods may be combined for use, which is not limited in the present specification and may be set according to needs.
Of course, in this specification, in order to avoid collision of the unmanned apparatus with obstacles during traveling, it is ensured that there is enough space around each obstacle to allow the unmanned apparatus to pass through. When determining the obstacle information of each obstacle, the obstacle information can be subjected to expansion processing, so that the size of each obstacle is increased, and the unmanned equipment can be allowed to pass in a certain space range around each obstacle. For example: the obstacle is a cube of 1 x 1, and the obstacle can be subjected to expansion treatment, determining the obstacle after the expansion treatment the product is 3×3×3 is a cube of (c).
Based on the path planning method shown in fig. 1, the embodiment of the present disclosure further correspondingly provides a schematic structure diagram of the path planning apparatus, as shown in fig. 10.
Fig. 10 is a schematic structural diagram of a path planning apparatus according to an embodiment of the present disclosure, where the apparatus includes:
the obstacle information determining module 200 determines the coordinates of the current position of the unmanned device and the obstacle information of each obstacle in the surrounding environment, wherein the obstacle information at least comprises the coordinates of the obstacle;
the first path determining module 202 determines a first path according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination through a preset evaluation function;
the second path determining module 204 determines a plurality of second paths according to a preset path length, path shape and path orientation by taking the current position as a starting point;
an adjustment module 206, configured to determine each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjust the path orientation of each second path to be adjusted in a manner of avoiding collision with the obstacle;
the path to be selected determining module 208 takes the first path and the second path as paths to be selected;
the driving path determining module 210 determines, according to a vector from the coordinates of the current position to the coordinates of the destination, a projection of each candidate path on the vector, and determines, according to the determined projection, a driving path of the unmanned driving device from each candidate path, wherein the greater the determined projection according to the candidate path, the greater the probability that the candidate path is the driving path.
Optionally, the second path determining module 204 is specifically configured to determine, for each preset path direction, a second path in the path direction according to a preset path length and a path shape in the path direction, where the preset path lengths are not identical, and the preset path shapes are not identical.
Optionally, the adjusting module 206 is specifically configured to determine, according to the obstacle information of each obstacle in the surrounding environment, a second path along which the second path runs to collide with any obstacle, as each second path to be adjusted, adjust, for each second path to be adjusted, a path direction of the second path along a preset direction with the current position as a center according to a preset unit angle, and determine whether the second path after adjustment runs to collide with any obstacle, if so, continuously adjusting the path direction of the second path along the preset direction according to the preset unit angle until the second path after adjustment no longer collides with any obstacle, if not, updating the second path according to the adjusted path direction of the second path.
Optionally, the adjustment module 206 is further configured to delete the second path when the cumulative adjustment angle of the second path is greater than the interval angle between the path orientations of the second paths.
Optionally, the driving path determining module 210 is specifically configured to determine, for each candidate path, a plurality of sub-paths of the candidate path according to a preset step length, determine a vector from coordinates of a path start point of each sub-path to coordinates of the destination, determine, for each sub-path of the candidate path, a projection of the sub-path on the vector, determine, according to the determined projection of each sub-path of the candidate path, a projection of the candidate path, and determine, according to the determined projection of each candidate path, a driving path of the unmanned device from each candidate path.
Optionally, the driving path determining module 210 is specifically configured to determine a last driving path as a third path, determine a change angle of the candidate path according to an orientation of the third path and an orientation of the candidate path, and determine the driving path of the unmanned driving device from the candidate paths according to the determined change angle and a projection of the candidate path on the vector.
Optionally, the same path direction includes a plurality of second paths, and the second path determining module 204 is further configured to determine, for each preset path direction, each second path in the path direction according to preset path lengths and path shapes in the path direction.
The present embodiments also provide a computer readable storage medium storing a computer program operable to perform the path planning method provided in fig. 1 described above.
Based on the path planning method shown in fig. 1, the embodiment of the present specification also proposes a schematic structural diagram of the unmanned driving apparatus shown in fig. 11. As shown in fig. 11, at a hardware level, the unmanned device includes: the path planning method shown in fig. 1 is implemented by the processor, the internal bus, the network interface, the memory and the nonvolatile memory, and the processor reads the corresponding computer program from the nonvolatile memory to the memory and then runs the computer program. Of course, other components for implementing the path planning function may be included in the unmanned device, for example, driving means required for the unmanned device to move, communication means required for communication, electronic devices for collecting surrounding information, and the like.
Of course, other implementations, such as logic devices or combinations of hardware and software, are not excluded from the present description, that is, the execution subject of the following processing flows is not limited to each logic unit, but may be hardware or logic devices.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present specification.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing is merely exemplary of the present disclosure and is not intended to limit the disclosure. Various modifications and alterations to this specification will become apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present description, are intended to be included within the scope of the claims of the present description.

Claims (10)

1. A method of path planning, comprising:
the unmanned device determines the coordinates of the current position of the unmanned device and the obstacle information of each obstacle in the surrounding environment, wherein the obstacle information at least comprises the coordinates of the obstacle;
determining a first path through a preset evaluation function according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination;
Determining a plurality of second paths by taking the current position as a starting point according to preset path length, path shape and path orientation;
determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a mode of avoiding collision with the obstacle;
taking the first path and the second path as a path to be selected;
and respectively determining projections of all the paths to be selected on the vector according to the vector from the coordinates of the current position to the coordinates of the destination, and determining the driving path of the unmanned driving equipment from all the paths to be selected according to the determined projections, wherein the larger the projection determined according to the paths to be selected is, the larger the probability that the paths to be selected are the driving paths is.
2. The method of claim 1, wherein determining the plurality of second paths based on the predetermined path length, path shape, and path orientation, comprises:
for each preset path orientation, determining a second path in the path orientation according to the preset path length and the path shape in the path orientation;
Wherein, the preset path lengths are not identical, and the preset path shapes are not identical.
3. The method of claim 1, wherein determining each second path to be adjusted based on the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a manner that avoids collision with an obstacle, specifically comprises:
determining a second path along which the vehicle runs and collides with any obstacle according to the obstacle information of each obstacle in the surrounding environment, and taking the second path as each second path to be adjusted;
aiming at each second path to be adjusted, taking the current position as a center, and adjusting the path orientation of the second path along a preset direction according to a preset unit angle;
judging whether the vehicle runs along the adjusted second path to collide with any obstacle;
if so, continuously adjusting the path orientation of the second path along the preset direction according to the preset unit angle until the second path after adjustment runs without collision with any obstacle;
if not, updating the second path according to the adjusted path orientation of the second path.
4. A method as claimed in claim 3, wherein the method further comprises:
and deleting the second paths when the accumulated adjustment angle of the second paths is larger than the interval angle between the path orientations of the second paths.
5. The method of claim 1, wherein the method further comprises:
for each path to be selected, determining a plurality of sub paths of the path to be selected according to a preset step length, and determining a vector from the coordinates of the path starting point of each sub path to the coordinates of the destination;
determining the projection of each sub-path of the path to be selected on the vector, and determining the projection of the path to be selected according to the determined projection of each sub-path of the path to be selected;
and determining the driving path of the unmanned driving equipment from each path to be selected according to the determined projection of each path to be selected.
6. The method of claim 1, wherein determining the path of travel of the unmanned device from among the candidate paths based on determining the projection, comprises:
determining the last travel path as a third path;
determining the change angle of the path to be selected according to the direction of the third path and the direction of the path to be selected;
And determining the driving path of the unmanned driving equipment from each candidate path according to the determined change angle and the projection of the candidate path on the vector.
7. The method of claim 2, wherein the same path comprises a plurality of second paths in an upward direction;
the method further comprises the steps of:
for each preset path orientation, determining each second path in the path orientation according to preset path lengths and path shapes in the path orientation.
8. A path planning apparatus, comprising:
the unmanned aerial vehicle comprises an obstacle information determining module, a control module and a control module, wherein the unmanned aerial vehicle determines the coordinates of the current position of the unmanned aerial vehicle and the obstacle information of each obstacle in the surrounding environment, and the obstacle information at least comprises the coordinates of the obstacle;
the first path determining module is used for determining a first path through a preset evaluation function according to the determined coordinates of the current position, the obstacle information of the surrounding environment and the coordinates of the destination;
the second path determining module is used for determining a plurality of second paths by taking the current position as a starting point according to preset path length, path shape and path orientation;
the adjusting module is used for determining each second path to be adjusted according to the obstacle information of each obstacle in the surrounding environment, and adjusting the path orientation of each second path to be adjusted in a mode of avoiding collision with the obstacle;
The route to be selected determining module takes the first route and the second route as the route to be selected;
and the driving path determining module is used for respectively determining the projection of each path to be selected on the vector according to the vector from the coordinate of the current position to the coordinate of the destination, and determining the driving path of the unmanned driving equipment from each path to be selected according to the determined projection, wherein the larger the projection determined according to the path to be selected is, the larger the probability that the path to be selected is the driving path is determined.
9. A computer readable storage medium, characterized in that the storage medium stores a computer program which, when executed by a processor, implements the method of any of the preceding claims 1-7.
10. An unmanned device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any of the preceding claims 1-7 when the program is executed by the processor.
CN202010580847.7A 2020-06-23 2020-06-23 Path planning method and device Active CN111665844B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010580847.7A CN111665844B (en) 2020-06-23 2020-06-23 Path planning method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010580847.7A CN111665844B (en) 2020-06-23 2020-06-23 Path planning method and device

Publications (2)

Publication Number Publication Date
CN111665844A CN111665844A (en) 2020-09-15
CN111665844B true CN111665844B (en) 2023-10-24

Family

ID=72389611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010580847.7A Active CN111665844B (en) 2020-06-23 2020-06-23 Path planning method and device

Country Status (1)

Country Link
CN (1) CN111665844B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114252070B (en) * 2020-09-25 2024-08-02 海鹰航空通用装备有限责任公司 Unmanned aerial vehicle path planning method suitable for given path length
CN112496441A (en) * 2020-11-27 2021-03-16 广州诺星智能科技有限公司 Stamping and cutting equipment with guide structure
US11618479B2 (en) * 2020-12-08 2023-04-04 GM Global Technology Operations LLC System, method and controller for graph-based path planning for a host vehicle
CN112649012A (en) * 2020-12-15 2021-04-13 北京三快在线科技有限公司 Trajectory planning method, equipment, medium and unmanned equipment
CN113156933B (en) * 2020-12-30 2022-05-03 徐宁 Robot traveling control system and method
CN113340311B (en) * 2021-08-04 2021-11-05 北京三快在线科技有限公司 Path planning method and device for unmanned equipment
CN113865600B (en) * 2021-09-28 2023-01-06 北京三快在线科技有限公司 High-precision map construction method and device
JP2023120649A (en) * 2022-02-18 2023-08-30 株式会社日立製作所 Route planning device, facility applied therewith, and route planning method
CN116588087B (en) * 2023-07-14 2023-09-29 上海伯镭智能科技有限公司 Unmanned mine car loading and unloading point parking method based on multi-mode data

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441736A (en) * 2007-11-21 2009-05-27 新乡市起重机厂有限公司 Path planning method of motor crane robot
KR20100005942A (en) * 2008-07-08 2010-01-18 한국과학기술연구원 Method for planning an optimal path in a biped robot
JP2011186878A (en) * 2010-03-10 2011-09-22 Nissan Motor Co Ltd Traveling object travel route generating device
KR20150086065A (en) * 2014-01-17 2015-07-27 전남대학교산학협력단 System and method for path planning for autonomous navigation of driverless ground vehicle
CN106598054A (en) * 2017-01-16 2017-04-26 深圳优地科技有限公司 Method and device for adjusting robot path
CN107490382A (en) * 2017-07-31 2017-12-19 中北智杰科技(北京)有限公司 A kind of pilotless automobile path planning system and control method
CN108549385A (en) * 2018-05-22 2018-09-18 东南大学 A kind of Robotic Dynamic paths planning method of combination A* algorithms and VFH obstacle avoidance algorithms
CN109062948A (en) * 2018-06-22 2018-12-21 广州杰赛科技股份有限公司 Target point is determining, destination path determines method and system
CN109782760A (en) * 2019-01-14 2019-05-21 哈尔滨工程大学 A kind of more USV multi-agent synergy collision-avoidance planning methods of the consideration without communication
CN110471426A (en) * 2019-09-02 2019-11-19 哈尔滨工程大学 Unmanned intelligent vehicle automatic Collision Avoidance method based on quantum wolf pack algorithm
CN111045433A (en) * 2019-12-31 2020-04-21 深圳前海达闼云端智能科技有限公司 Obstacle avoidance method of robot, robot and computer readable storage medium
CN111142542A (en) * 2020-01-15 2020-05-12 苏州晨本智能科技有限公司 Omnidirectional mobile robot autonomous navigation system based on VFH local path planning method
CN111142530A (en) * 2019-12-31 2020-05-12 深圳前海达闼云端智能科技有限公司 Method for determining running track of robot, robot and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665259B2 (en) * 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441736A (en) * 2007-11-21 2009-05-27 新乡市起重机厂有限公司 Path planning method of motor crane robot
KR20100005942A (en) * 2008-07-08 2010-01-18 한국과학기술연구원 Method for planning an optimal path in a biped robot
JP2011186878A (en) * 2010-03-10 2011-09-22 Nissan Motor Co Ltd Traveling object travel route generating device
KR20150086065A (en) * 2014-01-17 2015-07-27 전남대학교산학협력단 System and method for path planning for autonomous navigation of driverless ground vehicle
CN106598054A (en) * 2017-01-16 2017-04-26 深圳优地科技有限公司 Method and device for adjusting robot path
CN107490382A (en) * 2017-07-31 2017-12-19 中北智杰科技(北京)有限公司 A kind of pilotless automobile path planning system and control method
CN108549385A (en) * 2018-05-22 2018-09-18 东南大学 A kind of Robotic Dynamic paths planning method of combination A* algorithms and VFH obstacle avoidance algorithms
CN109062948A (en) * 2018-06-22 2018-12-21 广州杰赛科技股份有限公司 Target point is determining, destination path determines method and system
CN109782760A (en) * 2019-01-14 2019-05-21 哈尔滨工程大学 A kind of more USV multi-agent synergy collision-avoidance planning methods of the consideration without communication
CN110471426A (en) * 2019-09-02 2019-11-19 哈尔滨工程大学 Unmanned intelligent vehicle automatic Collision Avoidance method based on quantum wolf pack algorithm
CN111045433A (en) * 2019-12-31 2020-04-21 深圳前海达闼云端智能科技有限公司 Obstacle avoidance method of robot, robot and computer readable storage medium
CN111142530A (en) * 2019-12-31 2020-05-12 深圳前海达闼云端智能科技有限公司 Method for determining running track of robot, robot and storage medium
CN111142542A (en) * 2020-01-15 2020-05-12 苏州晨本智能科技有限公司 Omnidirectional mobile robot autonomous navigation system based on VFH local path planning method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种移动机器人路径规划的优化方法;李燊 等;新型工业化;第10卷(第5期);83-86 *
基于改进型人工势场的路径规划方法;成昌巍 等;无人系统技术;第2卷(第6期);10-16 *

Also Published As

Publication number Publication date
CN111665844A (en) 2020-09-15

Similar Documents

Publication Publication Date Title
CN111665844B (en) Path planning method and device
CN112766468B (en) Trajectory prediction method and device, storage medium and electronic equipment
CN111208838B (en) Control method and device of unmanned equipment
CN112987760B (en) Trajectory planning method and device, storage medium and electronic equipment
CN112629550B (en) Method and device for predicting obstacle track and model training
CN112306059B (en) Training method, control method and device for control model
CN116740361B (en) Point cloud segmentation method and device, storage medium and electronic equipment
CN113968243B (en) Obstacle track prediction method, device, equipment and storage medium
CN111062372B (en) Method and device for predicting obstacle track
CN113419547B (en) Multi-vehicle cooperative control method and device
CN111288971A (en) Visual positioning method and device
CN112859131B (en) Positioning method and device of unmanned equipment
CN112677993A (en) Model training method and device
CN112987796B (en) Unmanned aerial vehicle control method and device, computer readable storage medium and unmanned aerial vehicle
CN112393723B (en) Positioning method, positioning device, medium and unmanned equipment
CN113340311B (en) Path planning method and device for unmanned equipment
CN113848913B (en) Control method and control device of unmanned equipment
CN114148350B (en) Unmanned equipment control method and device
EP4336300A1 (en) Unmanned device control method and apparatus, storage medium and electronic device
US20220319189A1 (en) Obstacle tracking method, storage medium, and electronic device
CN113074734B (en) Track planning method and device, storage medium and electronic equipment
CN117095371A (en) Target detection method and detection device
CN113815651B (en) Unmanned equipment control method, unmanned equipment control device, unmanned equipment control equipment and storage medium
CN114460537A (en) Method and device for adjusting model
CN113888624B (en) Map construction method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant