CN111507652A - Task path determination method and device - Google Patents

Task path determination method and device Download PDF

Info

Publication number
CN111507652A
CN111507652A CN201910092993.2A CN201910092993A CN111507652A CN 111507652 A CN111507652 A CN 111507652A CN 201910092993 A CN201910092993 A CN 201910092993A CN 111507652 A CN111507652 A CN 111507652A
Authority
CN
China
Prior art keywords
task
obstacle
edge
end point
barrier
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.)
Pending
Application number
CN201910092993.2A
Other languages
Chinese (zh)
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.)
SF Technology Co Ltd
SF Tech Co Ltd
Original Assignee
SF 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 SF Technology Co Ltd filed Critical SF Technology Co Ltd
Priority to CN201910092993.2A priority Critical patent/CN111507652A/en
Publication of CN111507652A publication Critical patent/CN111507652A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)

Abstract

The application discloses a method and a device for determining a task path, wherein the method comprises the following steps: acquiring a starting point of a task to be executed, an end point of the task to be executed and coordinate values of at least one obstacle; generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacles; generating an edge set based on the barrier endpoint set, the barrier line segment set, the starting point and the end point, wherein the task edge is not intersected with the barrier line segment; and determining a target task path by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target, wherein the target task path comprises at least one task edge. According to the method and the device, the shortest distance from the starting point to the end point is taken as the target, one target task path is determined from the edge set, the task path generation is completed, the automatic identification and avoidance of the obstacle are achieved, the path generation process is simplified, and the task path generation efficiency is improved.

Description

Task path determination method and device
Technical Field
The present application relates generally to the field of logistics technology, and in particular, to a method and an apparatus for determining a task path.
Background
With the development of the electronic commerce and logistics industry, the amount of goods to be transported generated every day is very large. When goods to be transported are transported from the warehouse to different destinations, different goods need to be sorted out from the shelves of the warehouse according to goods orders. Due to the increasing amount of orders in the warehouse, the picking time has a large weight in all the working time in the warehouse.
At present, in order to increase the picking speed and reduce the picking operation time, different algorithms such as TSP (Total suspended particulate) are adopted, the shortest path and the distance between two points in a warehouse are taken as targets, and the picking path is determined on the basis of the Euclidean distance. Alternatively, the pick path may be determined by meshing the warehouse.
For a warehouse with a working area and other obstacles, when a path is determined on the premise of the shortest path and the distance between two points in the warehouse, whether the path meets the obstacle cannot be automatically judged, so that the determined path is unavailable; for the warehouse division through the grids, due to the fact that the layout of each warehouse is different, the operation is complex, the calculation amount is large, and the expansibility is not high.
Disclosure of Invention
In view of the above-mentioned drawbacks and deficiencies in the prior art, it is desirable to provide a method and a device for determining a path, which solve the problems that an obstacle cannot be identified and the determination process is complicated in the task path determination process.
In a first aspect, an embodiment of the present application provides a method for determining a task path, where the method includes:
acquiring a starting point of a task to be executed, an end point of the task to be executed and coordinate values of at least one obstacle;
generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacle, wherein the obstacle endpoint set comprises obstacle endpoints corresponding to the obstacle, and the obstacle line segment set comprises obstacle line segments corresponding to the obstacle;
generating an edge set based on the barrier endpoint set, the barrier line segment set, the starting point and the end point, wherein the edge set comprises at least one task edge, the task edge is not intersected with the barrier line segment, and the task edge is generated by the starting point and the barrier endpoint, the barrier endpoint and the barrier endpoint, or the barrier endpoint and the end point;
and determining a target task path based on the edge set by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target, wherein the target task path comprises at least one task edge.
In a second aspect, an embodiment of the present application provides a path determining apparatus, including:
the acquisition module is used for acquiring a starting point of a task to be executed, an end point of the task to be executed and coordinate values of at least one obstacle;
the first generation module is used for generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacle, wherein the obstacle endpoint set comprises obstacle endpoints corresponding to the obstacle, and the obstacle line segment set comprises obstacle line segments corresponding to the obstacle;
a second generating module, configured to generate an edge set based on the set of obstacle endpoints, the set of obstacle line segments, the starting point, and the ending point, where the edge set includes at least one task edge, the task edge is not intersected with the obstacle line segment, and the task edge is generated by connecting the starting point with the obstacle endpoint, or the obstacle endpoint with the ending point;
and the determining module is used for determining a target task path by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target based on the edge set, wherein the target task path comprises at least one task edge.
To sum up, the method and apparatus for determining a task path provided in the embodiments of the present application generate an edge set including at least one task edge connecting a start point and an end point by obtaining the start point and the end point of a task to be executed and an obstacle coordinate value in a task execution area, using the obstacle coordinate value to generate an obstacle end point set and an obstacle line segment set, using the start point of the task to be executed as an initial point and the end point of the task to be executed as a target point, so that each task edge is not intersected with an obstacle line segment, and further, using the shortest distance from the start point to the end point as a target, determine a target task path from the edge set, thereby completing task path generation, achieving automatic identification and avoidance of obstacles, simplifying a path generation process, and improving task path generation efficiency.
Further, the task path determining method provided by the embodiment of the application reduces the amount of calculation and improves the task path determining efficiency by deleting the task edges in the edge set which does not contribute to the shortest path in the shortest path calculation process.
Further, the task path determining method provided by the embodiment of the application realizes the identification of the obstacle by judging whether the generated task edge intersects with the obstacle line segment in the area where the task edge is located, improves the identification efficiency, and reduces the calculation amount.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
fig. 1 is a schematic flowchart of a task path determining method according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a task path determining method according to another embodiment of the present application;
fig. 3 is a schematic diagram of an obstacle line segment and an obstacle endpoint according to an embodiment of the present disclosure;
fig. 4 is a schematic diagram of an obstacle line segment and an obstacle endpoint according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram of an obstacle line segment and an obstacle endpoint according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram of an obstacle line segment provided in an embodiment of the present application;
FIG. 7 is a schematic diagram of a target task path provided by an embodiment of the present application;
fig. 8 is a schematic structural diagram of a task path determining apparatus according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a computer system of a server according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant application and are not limiting of the application. It should be noted that, for the convenience of description, only the portions relevant to the application are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
It can be understood that the task path determining method provided by the embodiment of the present application can be used for determining a path when a task needs to be executed repeatedly for multiple times in a certain area. For example, picking in warehouses in the logistics industry requires a picker or robot to pick items in turn on a designated shelf; or, in equipment maintenance in a plant area, a maintenance worker or a robot periodically arrives at a specified point to perform equipment maintenance.
It can be understood that there are obstacles that cannot be passed through in the task execution area in the embodiments of the present application, such as shelves, walls, and other work areas that cannot be passed through by objects that perform the picking task in the picking warehouse in the logistics industry. The execution object may be a picking employee or a picking robot, etc.
It can also be understood that, for convenience of understanding, if each obstacle in the task execution area is horizontal or vertical, the task path can be planned by using a manhattan distance calculation mode.
For convenience of understanding and explanation, the method and apparatus for task path determination provided by the embodiments of the present application are explained in detail below with reference to fig. 1 to 9.
Fig. 1 is a schematic flowchart illustrating a task path determining method according to an embodiment of the present application, where as shown in fig. 1, the method includes:
s110, obtaining a starting point of the task to be executed, an end point of the task to be executed and coordinate values of at least one obstacle in the task execution area.
Specifically, when a task path is planned for a certain task execution area, a start point and an end point of a task to be executed may be determined by measuring or the like. The task to be performed may be a picking task or a maintenance task, etc. The starting point of the task to be performed may be, for example, a coordinate value of the pick-up starting point and a coordinate value of the pick-up ending point. Namely a starting point for executing the task object and an ending point for arriving after the task is executed, such as a destination point for picking up goods and then delivering the goods.
And further, coordinate values of each obstacle can be acquired by measurement or the like. For example, when the obstacle is a wall, coordinate values of both ends of the obstacle of the wall may be measured, and when the obstacle is a rectangular work area, coordinate values of four vertices of the area may be measured. When the obstacle is a dog-ear, the coordinate values of the three vertices of the dog-ear may be measured.
It can be understood that the task path determination according to the embodiment of the present application is to implement planning and determining a task path in a two-dimensional task execution area. Therefore, the acquired coordinate values may be two-dimensional coordinates including values in the x direction and the y direction, that is, values in the first direction and values in the second direction.
And S120, generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacles.
Specifically, when the obstacle endpoint is obtained, the coordinate value of the obstacle may be used as an initial point, and preset values may be extended in the first direction and the second direction respectively to the direction away from the obstacle, so as to obtain the obstacle endpoint.
For example, as shown in fig. 3, for the obstacle end points of the wall obstacle, the coordinate values of the two end points of the wall may be obtained. Then, the coordinate value of the left side is taken as an initial value, and the coordinate values respectively extend a certain distance leftwards and upwards, namely a preset value, such as 1m, so as to obtain an obstacle endpoint at the upper end; and extends a certain distance, e.g., 1m, to the left and downward to obtain a lower obstacle end point. Similarly, for the coordinate value of the obstacle on the right side, the coordinate value is taken as an initial value, and the coordinate value can extend a certain distance to the right and upwards to obtain an obstacle end point; and extends a certain distance to the right and downwards to obtain an obstacle end point.
Through the method, four barrier end points of the wall barrier, four barrier end points of the barrier in the rectangular working area and six barrier end points of the folded barrier shown in fig. 3 to 5 can be obtained. A set of obstacle endpoints consisting of all obstacle endpoints is thus available.
For the obstacle line segment, the coordinate values of the obstacles can be directly connected to generate an obstacle line segment corresponding to each obstacle. As shown in fig. 3-5, longitudinal or transverse obstacle line segments may be generated. For example, for a wall barrier, coordinate points at two ends of the wall can be directly connected to obtain a barrier line segment corresponding to the wall; for a rectangular work area, four vertices of the rectangle may be connected to generate four obstacle line segments corresponding to the work area.
It is to be understood that, as shown in fig. 6, after the obstacle line segments corresponding to each obstacle are generated, all the obstacle line segments may divide the task execution area into a longitudinal area and a lateral area, i.e., an obstacle line segment area.
Further, after generating the obstacle line segment corresponding to each obstacle, each obstacle line segment may be stored in a data structure. For example, coordinate values of each obstacle, end points of the obstacle, and obstacle line segment areas where each obstacle line segment is located are stored in an array form.
And S130, generating an edge set based on the barrier endpoint set, the barrier line segment set, the starting point and the end point.
Specifically, after the start point, the end point of each obstacle, and the line segment of each obstacle of the task are determined, each end point in the obstacle end point set may be traversed using the start point as the start point, that is, the start point and each obstacle end point in the obstacle end point set are sequentially connected, for example, the start point and the obstacle end point are connected; connecting the barrier end point and the barrier end point; or connecting the barrier end point and the end point to generate at least one task side, and enabling each generated task side not to pass through the barrier line segment, namely not to be intersected with the barrier line segment. The generated at least one task edge may be combined into an edge set.
For example, starting from the starting point, the starting point is connected with a first obstacle endpoint in the obstacle endpoint set to generate a task edge, and then whether the task edge intersects with an obstacle line segment is judged. If the two points intersect, the edge is discarded, another point, such as a second obstacle endpoint, is taken out from the obstacle endpoint set and is connected with the starting point, a new task edge is generated, and whether the new task edge intersects with the obstacle line segment or not is repeatedly judged. And traversing all the barrier end points in the barrier end point set to generate a first edge set, wherein the first edge set at least comprises a first task edge, the first task edge connects the starting point with a certain point in the barrier end point set, and the first task edge does not intersect with the barrier line segment.
Furthermore, starting from an obstacle endpoint connected with the starting point in the obstacle endpoint set, continuously traversing each obstacle endpoint to generate a plurality of second task edges connecting the two obstacle endpoints, and when each second task edge is generated, judging whether the second task edge intersects with an obstacle line segment, if so, indicating that the task edge is not feasible, and discarding the second task edge; otherwise, the task edge is indicated to be available, and then the task edge is reserved. It is to be understood that the resulting at least one second task edge that does not intersect an obstacle line segment is combined into a second set of edges.
Finally, a third task edge may be generated by traversing the obstacle endpoint in the obstacle endpoint set, that is, connecting the endpoint with a certain obstacle endpoint in the obstacle endpoint set, with the endpoint as a terminal point. Similarly, when the third task edge is generated by connecting the end point and the obstacle end point, it can also be determined whether the third task edge intersects with the obstacle line segment, and if so, it indicates that the third task edge is not feasible, and the third task edge can be discarded. Otherwise, the third task edge may be retained, and another end point in the barrier end point set is continuously selected, connected with the end point to generate a new third task edge, and repeatedly determined whether to intersect with the barrier line segment. And forming a third edge set by the reserved third task edges which are not intersected with the barrier line segments until the end points in the barrier end point set traverse.
Optionally, when determining whether the task edge generated each time intersects with the obstacle line segment, in order to improve the determination efficiency, it is avoided to compare all the obstacle line segments with the currently generated task edge. It may be determined first whether a currently generated task edge is within a certain obstacle area as shown in fig. 6, and if so, it may be further determined whether the task edge intersects an obstacle line segment within the obstacle line segment area, and if so, the task edge may be deleted. Therefore, only the obstacle line segments in the area can be compared with the generated task edge to determine whether the task edge is feasible or not, and the calculation amount is reduced.
For example, when a certain task edge is generated, first, it may be determined whether the task edge is within the area of a certain obstacle line segment according to end points at two ends of the task edge by using a dichotomy. If within a certain obstacle segment area, a dichotomy may be further utilized to determine whether the task edge intersects an obstacle segment within the obstacle segment area.
It can be understood that if there are N obstacle line segments, it is determined whether a task edge intersects an obstacle, and if the complexity of directly determining each is o (N). If the above-described region division determination method is used, the complexity can be reduced to O (log (N)).
S140, based on the edge set, the minimum value of the sum of the lengths of the task edges connecting the starting point and the end point is used as a target, and a target task path is determined.
Specifically, after generating a task edge set connecting the starting point and the obstacle end point, the obstacle end point and the obstacle end point, or the obstacle end point and the end point, an alternative task path formed by at least one task edge connecting the starting point and the end point may be determined, then the sum of the lengths of all task edges of each alternative task path may be calculated, and finally, the combination of all task edges corresponding to the smallest alternative task path may be determined as a target task path for an execution object to travel when executing a task.
It is understood that, in determining the target path, dijkstra algorithm, a-x algorithm, Floyd-Warshall algorithm, etc. may be used, and manhattan distance of the obstacle end point and the shortest path passing from the start point to the end point as shown in fig. 7 is output.
Further, when determining the target task path from the edge set, it can be understood that if the shortest path is solved by using the edge set formed by all the endpoints and the edges communicated between all the endpoints, the complexity of the dijkstra algorithm is O (N ^2 × log (N)), where N is the number of the network endpoints. Because the number of points in the warehouse that are not connected to both the starting point and the ending point is small, the screening steps described in the following embodiments can be used to perform preliminary screening on task edges in the edge set. And determining a target task path from the edge set after screening, wherein the computational complexity can be reduced to be less than O (N). The complexity of the operation to remove points and edges is O (N), so the overall complexity of computing the shortest path is also reduced to O (N).
Fig. 2 is a task path determining method according to another embodiment of the present application, where the method may include:
s210, obtaining coordinate values of a starting point of the task to be executed, coordinate values of an end point of the task to be executed and coordinate values of at least one obstacle.
And S220, generating an obstacle endpoint set and an obstacle line segment set corresponding to the obstacle based on the coordinate values of the obstacle.
And S230, generating an edge set based on the barrier endpoint set, the barrier line segment set, the starting point and the end point.
It is understood that the above-mentioned processes of S210 to S230 are similar to the processes of S110 to S130 in the first embodiment, and are not described herein again.
Further, after the edge set including at least one task edge is determined, further optimization can be performed on the tasks in the edge set, and a part of useless task edges are deleted, so that the calculation amount is reduced. S241 may be specifically performed.
S241, judging whether a task edge directly connecting the starting point and the end point exists in the edge set.
Specifically, it may be determined whether a task edge exists in the generated edge set including at least one task edge, where end points at two ends of the task edge are a start point and an end point. That is, the starting point or the ending point is directly connected, that is, the starting point and the ending point can be directly connected through the task edge without passing through the end points in the obstacle end point set.
And S242, reserving the task edges directly connecting the starting point and the end point, and deleting other task edges in the edge set.
Specifically, if there is the above task edge, the task edge is necessarily the shortest task edge connecting the start point and the end point. At this time, the rest of the task edges in the edge set may be deleted, and only the task edge may be reserved.
If the above task edge does not exist, S243 may be performed.
S243, judging whether at least one barrier endpoint which simultaneously connects the starting point and the end point exists in the edge set.
And S244, if the two task edges exist, calculating the sum of the lengths of the two task edges corresponding to each obstacle endpoint.
S245, two task sides with the minimum length and corresponding barrier end points are reserved, and other barrier end points and task sides are deleted.
Specifically, it can be determined whether an obstacle end point exists, and two task edges connected to the obstacle end communicate the start point with the end point. That is, a route obtained by sequentially connecting a starting point, an obstacle end point and an end point through a certain obstacle end point in the obstacle end point set can enable an execution object to complete the execution of a task on the route.
After judging that at least one barrier end point directly connecting the starting point and the end point at the same time exists, the length sum of two connected task edges corresponding to each barrier end point can be calculated. And finally, only the length, the smallest barrier end point and two task edges connected with the barrier end point can be reserved, and all task edges in the edge set are deleted.
It is to be understood that S247 may be directly performed after only two task edges having the smallest sum of task edges are reserved in the edge set. If it is determined that there is no obstacle end point directly connecting the start point and the end point, S246 may be executed.
S246, deleting task edges between at least one barrier end point connected with the starting point; task edges between at least one barrier endpoint connected to the endpoint are deleted.
Specifically, if it is determined that there is no task side directly connecting the start point and the end point in the side set, or there is no task side connecting the start point and the end point through an obstacle end point, it indicates that the start point and the end point need to be connected through a second task side between the obstacle end point sets. At this time, in order to reduce the amount of calculation, task edges between at least one obstacle end point connected to the start point may be deleted, and task edges between at least one obstacle end point connected to the end point may be deleted.
For example, the obstacle end points connected to the starting point s include a1, a2, a3, and a4, and since the target task path is a task edge corresponding to the shortest distance, the task edge between a1 and a2, the task edge between a2 and a3, and the task edge between a3 and a4 can be deleted. Similarly, if the obstacle end points connected to the end point t include d1, d2, d3 and d4, the task edge between d1 and d2, the task edge between d2 and d3 and the task edge between d3 and d4 may be deleted.
And S247, determining a target task path.
Specifically, if only task edges directly connecting the start point and the end point are reserved in the edge set, the line corresponding to the task edge may be directly determined as the target task path.
If two connected task edges which are communicated with the starting point and the end point through one barrier end point are reserved in the edge set, the corresponding routes of the two connected task edges can be determined into a target task path.
If only a first edge set connecting the starting point and the barrier end point, a second edge set connecting the barrier end point and the barrier end point, and a third edge set connecting the barrier end point and the end point are reserved in the edge set, a target task path can be determined by using a shortest path algorithm based on the three edge sets and two end points corresponding to each task edge in the edge set. At least one task edge is determined from the first task edge set, the second task edge set and the third task edge set respectively, and a corresponding line is a target task path after each task edge is connected in sequence, so that the path is shortest.
Further, after the target task path is determined by the method, in order to output the manhattan distance that is the shortest distance corresponding to the end point list that the target task path needs to pass through, or simplify the output result, S251 or S252 may be further executed:
and S251, adding the turning point.
Specifically, if a certain output task edge is an oblique line, that is, coordinate values of two end points of the task edge in the same direction are all different, that is, values of a first end point and a second end point on the task edge in the target task path in the first direction and values of the second direction are all different. If the target task path is a task edge directly connected with the starting point and the end point, the values in the x direction (first direction) and the values in the y direction (second direction) of the coordinate values of the starting point and the end point are different. It is necessary to add a turning point so that the value of the turning point in the x direction is the same as the value of one end point in the x direction and the value of the turning point in the y direction is the same as the value of the other end point in the y direction, i.e., so that the target task path output of the slope is the manhattan distance in the transverse direction and the longitudinal direction.
Or:
and S252, deleting the end points on the target task path.
Specifically, when the first end point, the second end point, and the third end point on a certain task edge in the target task path have the same coordinate value in the first direction or the same coordinate value in the second direction, the second end point located in the middle position is deleted.
For example, when a generated task path includes at least two connected task edges, and the values of the three end points of the connected task edge in the x direction or the y direction are the same, the end point connecting the two task edges may be deleted.
For ease of understanding, the dijkstra algorithm is used as an example to explain the determination of the target task path in detail.
And setting a starting point as s, an end point as t, a set of barrier end points as P, wherein the starting point and the end point form an end point set V of the network, and a first edge set E1 between s and P, a third edge set E3 between P and E, and a second edge set E2, E1, E2 and E3 inside the P form an edge set E of the network.
For a network G (V, E) consisting of a set of endpoints V and a set of edges E, the dijkstra algorithm from s to t assumes wijWeight representing task edge from i endpoint to j endpoint, diThe shortest path value from s to i end point, the end point set V ═ s, t } + P.
The method comprises the following steps:
let set S be { S }, let set U be { t } + P, and d besWhen the value is equal to 0, then
di=wsiI ∈ { ∈ X | X is the set of endpoints that communicate with s },
dk ∞, k ∈ { Y | Y is the set of endpoints that do not communicate with s },
step two:
in U, dj=min(i∈U)diThe end point j satisfying this condition is taken out of U and put into the set S.
It will be appreciated that if in the calculation, the algorithm ends until U is an empty set. Otherwise, executing step three.
Step three:
for all i-endpoint inputs U, if there is a task edge from i-endpoint to j-endpoint, di=min{di,dj+wijAnd fourthly, returning to the step two.
And repeating the second step and the third step until all the end points are traversed.
And outputting the result, namely outputting a point set list passing from s to t and the Manhattan distance of the shortest path from s to t as shown in FIG. 7.
Fig. 8 is a schematic structural diagram of a task path determining apparatus provided in an embodiment of the present application, and as shown in the drawing, the apparatus 800 may include:
the obtaining module 810 is configured to obtain a start point of a task to be executed, an end point of the task to be executed, and coordinate values of at least one obstacle, where the coordinate values include a value in a first direction and a value in a second direction.
A first generating module 820, configured to generate an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacle, where the obstacle endpoint set includes obstacle endpoints corresponding to the obstacle, and the obstacle line segment set includes obstacle line segments corresponding to the obstacle;
a second generating module 830, configured to generate an edge set based on the set of obstacle endpoints, the set of obstacle line segments, the starting point, and the ending point, where the edge set includes at least one task edge, and the task edge is not intersected with the obstacle line segment and is generated by connecting the starting point and the obstacle endpoint, or the obstacle endpoint and the ending point;
a determining module 840, configured to determine a target task path based on the edge set, where the target task path includes at least one task edge, and a minimum of the sum of lengths of the task edges connecting the start point and the end point is used as a target.
Preferably, the task path determining apparatus provided in the embodiment of the present application, further includes:
a screening module 850, configured to reserve a task edge directly connecting the start point and the end point, and delete another task edge in the edge set; or
Two task edges which are directly communicated with the terminal point and the terminal point through one barrier terminal point are reserved, and other task edges in the edge set are deleted; or
And deleting the task side between at least one barrier endpoint which is directly communicated with the starting point and is not directly communicated with the end point, and deleting the task side between at least one barrier endpoint which is directly communicated with the end point and is not directly communicated with the starting point.
Preferably, in the task path determining apparatus provided in the embodiment of the present application, the second generating module is specifically configured to:
traversing the barrier endpoints in the barrier endpoint set, and respectively generating a first edge set connecting the starting point and the barrier endpoints, a second edge set connecting the barrier endpoints and the barrier endpoints, and a third edge set connecting the end point and the barrier endpoints, so that task edges in the first edge set are not intersected with the barrier line segments.
Preferably, in the task path determining apparatus provided in the embodiment of the present application, the determining module is specifically configured to:
if a task edge directly communicating the starting point with the end point is reserved in the edge set, determining a target task path for the task edge;
if two task edges which are directly communicated with the end point and the end point through one barrier end point are reserved in the edge set, calculating the sum of length values of the two task edges connected with each group;
taking the connecting line of the two task edges with the minimum sum as the target task path;
otherwise, based on the edge set after deleting the task edges between the barrier end points, the target task path is determined by using a shortest path algorithm.
Preferably, in the task path determining apparatus provided in the embodiment of the present application, the second generating module is specifically configured to:
judging whether the task edge is in the area of the barrier line segment;
if so, judging whether the task edge is intersected with the barrier line segment in the barrier line segment area;
and if the task edges are intersected, deleting the task edges.
Referring now to FIG. 9, shown is a block diagram of a computer system 900 suitable for use in implementing a server according to embodiments of the present application.
As shown in fig. 9, the computer system includes a Central Processing Unit (CPU)901, which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)902 or a program loaded from a storage section into a Random Access Memory (RAM) 903. In the RAM903, various programs and data necessary for system operation are also stored. The CPU 901, ROM 902, and RAM903 are connected to each other via a bus 904. An input/output (I/O) interface 905 is also connected to bus 904.
To the I/O interface 905, AN input section 906 including a keyboard, a mouse, and the like, AN output section including AN input section such as a Cathode Ray Tube (CRT), a liquid crystal display (L CD), and the like, a speaker, and the like, a storage section 908 including a hard disk, and the like, and a communication section 909 including a network interface card such as a L AN card, a modem, and the like, the communication section 909 performs communication processing via a network such as the internet, a drive is also connected to the I/O interface 905 as necessary, a removable medium 911 such as a magnetic disk, AN optical disk, a magneto-optical disk, a semiconductor memory, and the like is mounted on the drive 910 as necessary, so that a computer program read out therefrom is mounted into the storage section 908 as necessary.
In particular, according to an embodiment of the present invention, the processes described above with reference to the flowcharts 1 and 2 may be implemented as computer software programs. For example, a task path determination embodiment of the present invention includes a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flowchart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication section, and/or installed from a removable medium. The above-described functions defined in the system of the present application are executed when the computer program is executed by a Central Processing Unit (CPU) 901.
It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present invention, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of task path determination methods, apparatus, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present invention may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves. The described units or modules may also be provided in a processor, and may be described as: a processor includes an acquisition module, a first generation module, a second generation module, and a determination module. For example, the switching module may be further described as "a module for determining a target task path with a minimum value of a sum of lengths of task edges connecting the start point and the end point as a target, based on the edge set".
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to implement the task path determining method as described in the above embodiments.
For example, the electronic device may implement the following as shown in fig. 1: s110, obtaining coordinate values of a starting point of a task to be executed, an end point of the task to be executed and at least one obstacle in a task execution area, wherein the coordinate values comprise a value in a first direction and a value in a second direction; s120, generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacle, wherein the obstacle endpoint set comprises obstacle endpoints corresponding to the obstacle, and the obstacle line segment set comprises obstacle line segments corresponding to the obstacle; s130, generating an edge set based on the barrier endpoint set, the barrier line segment set, the starting point and the end point, wherein the edge set comprises at least one task edge, the task edge is not intersected with the barrier line segment, and the task edge is generated by connecting the starting point with the barrier endpoint, the barrier endpoint with the barrier endpoint or the barrier endpoint with the end point; s140, based on the edge set, determining a target task path by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target, wherein the target task path comprises at least one task edge. As another example, the electronic device may implement the various steps as shown in fig. 2.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware.
To sum up, the method and apparatus for determining a task path provided in the embodiments of the present application generate an edge set including at least one task edge connecting a start point and an end point by obtaining the start point and the end point of a task to be executed and an obstacle coordinate value in a task execution area, using the obstacle coordinate value to generate an obstacle end point set and an obstacle segment set, using the start point of the task to be executed as an initial point and the end point of the task to be executed as a target point, so that each task edge is not intersected with an obstacle segment, and further, using the shortest distance from the start point to the end point as a target, determine a target task path from the edge set, thereby completing task path generation, achieving automatic identification and avoidance of obstacles, simplifying a path generation process, and improving task path generation efficiency.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the application referred to in the present application is not limited to the embodiments with a particular combination of the above-mentioned features, but also encompasses other embodiments with any combination of the above-mentioned features or their equivalents without departing from the scope of the application. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (12)

1. A method for determining a task path, the method comprising:
acquiring a starting point of a task to be executed, an end point of the task to be executed and a coordinate value of at least one obstacle in a task execution area;
generating an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacles, wherein the obstacle endpoint set comprises obstacle endpoints corresponding to the obstacles, and the obstacle line segment set comprises obstacle line segments corresponding to the obstacles;
generating an edge set based on the obstacle endpoint set, the obstacle line segment set, the starting point and the end point, wherein the edge set comprises at least one task edge, the task edge does not intersect with the obstacle line segment, the task edge is generated by the starting point and the obstacle endpoint, the obstacle endpoint is generated by the obstacle endpoint, or the obstacle endpoint is generated by connecting the obstacle endpoint with the end point;
and determining a target task path by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target based on the edge set, wherein the target task path comprises at least one task edge.
2. The task path determination method of claim 1, wherein prior to determining a target task path based on the set of edges, the method further comprises:
reserving task edges directly communicating the starting point and the end point, and deleting other task edges in the edge set; or
Two task edges which are directly communicated with the end point and the end point through one barrier end point are reserved, and other task edges in the edge set are deleted; or
And deleting the task side between at least one barrier endpoint which is directly communicated with the starting point and is not directly communicated with the end point, and deleting the task side between at least one barrier endpoint which is directly communicated with the end point and is not directly communicated with the starting point.
3. The task path determination method of claim 1, wherein the generating a set of edges based on the set of obstacle end points, the set of obstacle line segments, the start point, and the end point comprises:
traversing barrier endpoints in the barrier endpoint set, and respectively generating a first edge set connecting the starting point and the barrier endpoints, a second edge set connecting the barrier endpoints and the barrier endpoints, and a third edge set connecting the end points and the barrier endpoints, so that task edges in the first edge set, the second edge set and the third edge set do not intersect with the barrier line segments.
4. The method according to claim 2, wherein the determining a target task path with a minimum value of a sum of lengths of task edges connecting the start point and the end point as a target based on the edge set comprises:
if a task edge directly communicating the starting point with the end point is reserved in the edge set, determining a target task path for the task edge;
if two task edges which are directly communicated with the end point and the end point through one barrier end point are reserved in the edge set, calculating the sum of length values of the two task edges connected with each group;
taking a connecting line of two task edges with the minimum sum as the target task path;
otherwise, based on the edge set after deleting the task edges between the barrier end points, the target task path is determined by using a shortest path algorithm.
5. The task path determination method of claim 3, wherein causing task edges in the first set of edges to be disjoint from the obstacle line segments comprises:
judging whether the task edge is in the area of the barrier line segment;
if so, judging whether the task edge is intersected with the obstacle line segment in the obstacle line segment area;
and if the task edges are intersected, deleting the task edges.
6. The task path determination method of claim 1, wherein generating a set of obstacle end points and a set of obstacle line segments based on the coordinate values of the obstacles comprises:
extending each coordinate value of the obstacle in a first direction and a second direction respectively to a preset value in a direction far away from the obstacle to generate an obstacle endpoint;
and connecting the coordinate values of the obstacles to generate a longitudinal or transverse obstacle line segment.
7. The task path determination method of claim 1, further comprising:
if the first direction value and the second direction value of the coordinate of the first end point and the second end point on the task edge in the target task path are different, adding a turning point on the task edge, so that the first direction value of the coordinate of the turning point is the same as the first direction value of the first end point, and the second direction value of the coordinate value of the turning point is the same as the second direction value of the second end point; or
If the values of the first direction or the second direction of the coordinates of the first end point, the second end point and the third end point on the task edge in the target task path are the same, deleting the second end point located in the middle position; wherein the content of the first and second substances,
the first endpoint and the second endpoint are the starting point, the ending point, or the obstacle endpoint.
8. A task path determination apparatus, characterized in that the apparatus comprises:
the acquisition module is used for acquiring a starting point of a task to be executed, an end point of the task to be executed and coordinate values of at least one obstacle;
a first generation module, configured to generate an obstacle endpoint set and an obstacle line segment set based on the coordinate values of the obstacle, where the obstacle endpoint set includes obstacle endpoints corresponding to the obstacle, and the obstacle line segment set includes obstacle line segments corresponding to the obstacle;
a second generating module, configured to generate an edge set based on the set of obstacle endpoints, the set of obstacle line segments, the starting point, and the ending point, where the edge set includes at least one task edge, the task edge is not intersected with the obstacle line segment, the task edge is generated by the starting point and the obstacle endpoint, and the obstacle endpoint is generated by the obstacle endpoint or is generated by connecting the obstacle endpoint with the ending point;
and the determining module is used for determining a target task path by taking the minimum value of the sum of the lengths of the task edges communicating the starting point and the end point as a target based on the edge set, wherein the target task path comprises at least one task edge.
9. The task path determination apparatus according to claim 8, characterized in that the apparatus further comprises:
the screening module is used for reserving task edges directly communicating the starting point with the end point and deleting other task edges in the edge set; or
Two task edges which are directly communicated with the end point and the end point through one barrier end point are reserved, and other task edges in the edge set are deleted; or
And deleting the task side between at least one barrier endpoint which is directly communicated with the starting point and is not directly communicated with the end point, and deleting the task side between at least one barrier endpoint which is directly communicated with the end point and is not directly communicated with the starting point.
10. The task path determining apparatus according to claim 8, wherein the second generating module is specifically configured to:
traversing barrier endpoints in the barrier endpoint set, and respectively generating a first edge set connecting the starting point and the barrier endpoints, a second edge set connecting the barrier endpoints and the barrier endpoints, and a third edge set connecting the end points and the barrier endpoints, so that task edges in the first edge set, the second edge set and the third edge set do not intersect with the barrier line segments.
11. The task path determining apparatus according to claim 9, wherein the determining module is specifically configured to:
if a task edge directly communicating the starting point with the end point is reserved in the edge set, determining a target task path for the task edge;
if two task edges which are directly communicated with the end point and the end point through one barrier end point are reserved in the edge set, calculating the sum of length values of the two task edges connected with each group;
taking a connecting line of two task edges with the minimum sum as the target task path;
otherwise, based on the edge set after deleting the task edges between the barrier end points, the target task path is determined by using a shortest path algorithm.
12. The path determination apparatus according to claim 10, wherein the second generation module is specifically configured to:
judging whether the task edge is in the area of the barrier line segment;
if so, judging whether the task edge is intersected with the obstacle line segment in the obstacle line segment area;
and if the task edges are intersected, deleting the task edges.
CN201910092993.2A 2019-01-30 2019-01-30 Task path determination method and device Pending CN111507652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910092993.2A CN111507652A (en) 2019-01-30 2019-01-30 Task path determination method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910092993.2A CN111507652A (en) 2019-01-30 2019-01-30 Task path determination method and device

Publications (1)

Publication Number Publication Date
CN111507652A true CN111507652A (en) 2020-08-07

Family

ID=71870769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910092993.2A Pending CN111507652A (en) 2019-01-30 2019-01-30 Task path determination method and device

Country Status (1)

Country Link
CN (1) CN111507652A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468702A (en) * 2021-07-22 2021-10-01 久瓴(江苏)数字智能科技有限公司 Pipeline arrangement method and device and computer readable storage medium
CN113570682A (en) * 2021-08-02 2021-10-29 北京经纬恒润科技股份有限公司 Right-angle routing method and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129238A (en) * 1993-11-01 1995-05-19 Fujitsu Ltd Generation system for obstacle avoiding path
JPH10333746A (en) * 1997-05-28 1998-12-18 Shinryo Corp Route generating method for moving robot
US20060224304A1 (en) * 2005-03-29 2006-10-05 International Business Machines Corporation Method for routing multiple paths through polygonal obstacles
US20120221237A1 (en) * 2011-02-25 2012-08-30 Dongguk University Industry-Academic Cooperation Foundation Apparatus and method of cell-based path planning for mobile body
CN104238560A (en) * 2014-09-26 2014-12-24 深圳市科松电子有限公司 Method and system for planning nonlinear paths
WO2018010471A1 (en) * 2016-07-12 2018-01-18 中国能源建设集团广东省电力设计研究院有限公司 Method and system for optimizing obstacle avoidance path of offshore wind farm current collection system
US20180090015A1 (en) * 2016-09-29 2018-03-29 Airbus Operations S.A.S. Method and device for generating an optimum flight path intended to be followed by an aircraft

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129238A (en) * 1993-11-01 1995-05-19 Fujitsu Ltd Generation system for obstacle avoiding path
JPH10333746A (en) * 1997-05-28 1998-12-18 Shinryo Corp Route generating method for moving robot
US20060224304A1 (en) * 2005-03-29 2006-10-05 International Business Machines Corporation Method for routing multiple paths through polygonal obstacles
US20120221237A1 (en) * 2011-02-25 2012-08-30 Dongguk University Industry-Academic Cooperation Foundation Apparatus and method of cell-based path planning for mobile body
CN104238560A (en) * 2014-09-26 2014-12-24 深圳市科松电子有限公司 Method and system for planning nonlinear paths
WO2018010471A1 (en) * 2016-07-12 2018-01-18 中国能源建设集团广东省电力设计研究院有限公司 Method and system for optimizing obstacle avoidance path of offshore wind farm current collection system
US20180090015A1 (en) * 2016-09-29 2018-03-29 Airbus Operations S.A.S. Method and device for generating an optimum flight path intended to be followed by an aircraft

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468702A (en) * 2021-07-22 2021-10-01 久瓴(江苏)数字智能科技有限公司 Pipeline arrangement method and device and computer readable storage medium
CN113468702B (en) * 2021-07-22 2024-03-22 久瓴(江苏)数字智能科技有限公司 Pipeline arrangement method, pipeline arrangement device and computer readable storage medium
CN113570682A (en) * 2021-08-02 2021-10-29 北京经纬恒润科技股份有限公司 Right-angle routing method and device
CN113570682B (en) * 2021-08-02 2024-05-07 北京经纬恒润科技股份有限公司 Right-angle routing method and device

Similar Documents

Publication Publication Date Title
CN109115226B (en) Route planning method for avoiding multi-robot conflict based on jumping point search
CN110378175B (en) Method and device for recognizing road edge
CN111553548B (en) Goods picking method and device
CN108827311B (en) Route planning method for unmanned carrying system in manufacturing workshop
CN111507652A (en) Task path determination method and device
CN112925308B (en) Path planning method, path planning device and computer storage medium
CN112700180A (en) Goods picking method and goods picking device
CN115271190B (en) Method and device for arranging garbage centralized recovery points
CN113191521A (en) Path planning method and device and computer readable storage medium
CN115410410B (en) Parking space recommendation method, device, equipment and storage medium
CN111947676A (en) Express delivery path planning method and device, electronic equipment and storage medium
CN112161630B (en) AGV (automatic guided vehicle) online collision-free path planning method suitable for large-scale storage system
JP6741081B2 (en) Movement planning device, movement planning method, and program
CN110807612A (en) Method and device for determining residual capacity
CN112541464A (en) Method and device for determining associated road object, road side equipment and cloud control platform
CN114812539B (en) Map searching method, map using method, map searching device, map using device, robot and storage medium
CN111882117A (en) Express trunk route line flow prediction method, device and equipment
CN110276508B (en) Method and device for distributing task information
US20220274590A1 (en) Transport planning system, transport planning method and program
CN113739798B (en) Path planning method and device
CN114036247A (en) High-precision map data association method and device, electronic equipment and storage medium
CN110119913B (en) Method and device for detecting path abnormality
CN111780762B (en) Patrol path generation method and device and storage medium
WO2022027357A1 (en) Goods picking method and system in unmanned environment, and computer readable storage medium
CN112529346A (en) Task allocation 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200807

RJ01 Rejection of invention patent application after publication