WO2020034887A1 - Method and apparatus for determining traveling path of agent - Google Patents

Method and apparatus for determining traveling path of agent Download PDF

Info

Publication number
WO2020034887A1
WO2020034887A1 PCT/CN2019/099720 CN2019099720W WO2020034887A1 WO 2020034887 A1 WO2020034887 A1 WO 2020034887A1 CN 2019099720 W CN2019099720 W CN 2019099720W WO 2020034887 A1 WO2020034887 A1 WO 2020034887A1
Authority
WO
WIPO (PCT)
Prior art keywords
reachable
current
time
agent
travel path
Prior art date
Application number
PCT/CN2019/099720
Other languages
French (fr)
Chinese (zh)
Inventor
彭成
严孝伟
朱礼君
刘衡
周恺
杨志远
赵海兵
Original Assignee
菜鸟智能物流控股有限公司
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 菜鸟智能物流控股有限公司 filed Critical 菜鸟智能物流控股有限公司
Publication of WO2020034887A1 publication Critical patent/WO2020034887A1/en

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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • 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

Definitions

  • the present application relates to the field of path planning, in particular to a method and a device for determining a travel path of an agent, and also relates to an electronic device and a computer-readable storage medium.
  • agents In the field of logistics, agents (such as logistics robots) can replace sorting tasks manually. Among them, the technology of path planning for a large number of agents is particularly critical. Path planning for a large number of agents is a classic optimization problem called Multi-Agent Path Planning (MAPF). Specifically, given a map consisting of a set of points and edges, and a certain number of agents (agents), set the initial position and destination for these agents, solve the movement route of each agent, so Each agent can move from its starting position to its own destination without conflict (without collision with fixed obstacles or other agents).
  • MAF Multi-Agent Path Planning
  • the MAPF-POST algorithm enables various MAPF algorithm solutions to be transformed into a non-collision execution scheme.
  • the present application provides a method and a device for determining a travel path of an agent, which aims to solve a technical problem of path planning of a large number of agents in continuous time and non-uniform speed.
  • the application also relates to an electronic device and a computer-readable storage medium.
  • the method for determining the travel path of the agent provided in this application includes:
  • an actual travel path of the current agent from the current position to the target position is determined.
  • the reachable position between the current position and the target position is determined in the following manner:
  • the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position to obtain the second reachable direction and the corresponding reachable position;
  • a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
  • the reachable position between the current position and the target position is determined in the following manner:
  • For the third reachable direction of the current position determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
  • the first reachable direction and the third reachable direction are determined in the following manner:
  • the current direction is the first reachable direction or the third reachable direction.
  • the reachable time corresponding to the reachable position is an arbitrary time.
  • the reachable time corresponding to the reachable position is determined in the following manner:
  • the time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position does not conflict with the time when other agents are located in the reachable position.
  • the reachable time corresponding to the reachable position and the time when other agents are located in the reachable position do not conflict by determining in the following manner:
  • Query a time occupancy table which is used to record the time when other agents are located in the reachable location
  • the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
  • the step of determining the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position includes:
  • the time allowed for the current agent to reach the reachable position is determined as the corresponding to the reachable position Reachable time.
  • the available time corresponding to the current location, the time it takes from the current location to the reachable location, and the available time corresponding to the reachable location will allow the current agent to reach the reachable location.
  • the time is determined as the reachable time step corresponding to the reachable location, including:
  • the step of determining the actual travel path of the current agent from the current position to the target position based on the at least one alternative travel path includes:
  • the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
  • the method further includes:
  • the speed of the current agent between the adjacent reachable positions is determined.
  • the device for determining the travel path of an agent includes:
  • the reachable position and reachable time determining unit is used to determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
  • An alternative travel path determination unit configured to determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
  • the actual travel path determining unit is configured to determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
  • the reachable position and reachable time determining unit is configured to:
  • the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position, and obtain the second reachable direction and the corresponding reachable position;
  • a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
  • the reachable position and reachable time determining unit is configured to:
  • For the third reachable direction of the current position determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
  • a reachable direction determining unit is further configured to:
  • the current direction is the first reachable direction or the third reachable direction.
  • the reachable location and reachable time determining unit includes:
  • the reachable time determining subunit is configured to determine the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position and other agents located in the reachable position are Time does not conflict.
  • the reachable time determining subunit is used for:
  • Query a time occupancy table which is used to record the time when other agents are located in the reachable location
  • the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position and the other agents are located in the reachable position. The time to reach the location does not conflict.
  • the reachable time determining subunit is configured to: according to the available time corresponding to the current position, the time required to reach the reachable position from the current position, and the available time corresponding to the reachable position, The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position.
  • the reachable time determining sub-unit is configured to: shift the available time corresponding to the current position to the reachable position by translating the available time corresponding to the current position to the reachable position; The intersection of the available times is determined as the reachable time corresponding to the reachable position.
  • the actual travel path determination unit is configured to:
  • the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
  • the apparatus further includes:
  • a speed determining unit is configured to determine the speed of the current agent between the adjacent reachable positions according to the reachable time of each adjacent reachable position on the candidate travel path.
  • the electronic equipment provided in this application includes:
  • the memory is configured to store computer-executable instructions
  • the processor is configured to execute the computer-executable instructions:
  • an actual travel path of the current agent from the current position to the target position is determined.
  • the computer-readable storage medium provided in this application stores a computer program thereon, and when the program is executed by a processor, the following operations are performed:
  • the memory is configured to store computer-executable instructions
  • the processor is configured to execute the computer-executable instructions:
  • an actual travel path of the current agent from the current position to the target position is determined.
  • the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined first; then the current agent is determined according to the reachable time corresponding to the reachable position. At least one travel path from the current position to the target position; finally, according to the reachable time corresponding to the reachable position on the at least one travel path, an alternative travel path of the current agent from the current position to the target position is determined. Since this technical solution uses the reachable time to control the moment when the agent reaches the reachable position, the agent can reach the reachable position within the reachable time. As to what speed to travel to the reachable position, no special requirements are required. It can be non-uniform motion, etc. It can be a period of motion and then stop for a period of time, so that the intelligent body can reach the target position at a non-uniform speed for a continuous time.
  • FIG. 1 is a processing flowchart of an embodiment of a method for determining a travel path of an agent provided in the present application
  • FIG. 2 is a schematic diagram of an application scenario of a method for determining a travel path of an agent provided in the present application
  • FIG. 3 is a schematic diagram of an embodiment of a device for determining a travel path of an agent provided in the present application
  • FIG. 4 is a schematic diagram of an embodiment of an electronic device provided by the present application.
  • FIG. 1 is a processing flowchart of an embodiment of a method for determining a travel path of an agent provided by this application.
  • the following describes the technical solution of the method for determining a travel path of an agent provided in the present application in combination with a processing flowchart of an embodiment of a method for determining a travel path of an agent shown in FIG. 1.
  • the processing flow of the embodiment of the method for determining the travel path of the agent shown in FIG. 1 includes:
  • step S101 the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined.
  • the current agent is an agent that is performing path planning.
  • the current position of the current agent refers to the position where the current agent is currently located. This step aims to determine each reachable position from the current position to the target position and the reachable time corresponding to each reachable position based on the current position of the current agent.
  • the reachable position between the current position and the target position is determined in the following manner.
  • A) Determine the first reachable direction for the current position and current direction of the current agent, and obtain the first reachable direction and the corresponding reachable position in the current direction of the current position. At this time, do not go straight, only to determine the reachable direction, so the position is not changed, the direction is changed, and the changed direction and the corresponding original position are obtained.
  • steps A) and B) are repeated, and a new reachable direction and a corresponding reachable position are determined for the first and second reachable directions and the corresponding reachable positions until the target direction and the corresponding reachable position are reached. target location.
  • the first reachable direction may be determined in the following manner: First, it is determined whether the current agent conflicts with other agents at the current position when the current agent changes direction at the current position. Second, when there is no conflict, the direction that can be changed and the current direction are determined as the first reachable direction. Furthermore, during a conflict, it is determined that the current direction is the first reachable direction.
  • This step aims to first determine the reachable direction corresponding to the current position.
  • the third reachable direction refers to whether steering can be performed at the current position to continue traveling in the direction after turning.
  • the third reachable direction may be determined by the following methods, including: first, determining whether the current agent conflicts with other agents at the current position when the current agent changes direction at the current position. Second, when there is no conflict, the direction that can be changed and the current direction are determined as the third reachable direction. Furthermore, during a conflict, it is determined that the current direction is the third reachable direction.
  • the process of changing the direction of the agent at the current position will take part of the time. If other agents arrive at the current position within the time taken by the turn, it means that the current agent should not turn at the current position, but should continue to move in the original direction. To leave the current position to make room for other agents and avoid conflicts with other agents. If no other agent will arrive at the current position within the time taken by the turn, it means that the current agent can turn at the current position.
  • the direction that can be turned is used as the third reachable direction.
  • the agent can turn in each direction that can be turned, and then continue to travel in the direction after the turn.
  • the direction that can be turned means that there is no obstacle in the direction after the turn, and the agent can continue to travel in the direction after the turn.
  • the third reachable direction may be one or more. For example, if there are no obstacles on the front, left, and right, the left and right sides can be reachable directions.
  • the agent can continue straight at the current position, turn to the left, or turn to the right.
  • this step B) can determine the third reachable direction of the current position according to the movement space of a few unit distances for the third reachable direction of the current position. Accessible location. For example, when the left direction is the third reachable direction, the reachable position in the left direction of the current position may be determined for the left direction of the current position according to the motion space that travels straight for a number of unit distances. Similarly, when the right direction is the reachable direction, the reachable position in the right direction can be determined according to the movement space of a certain unit distance for the right direction of the current position.
  • the motion space that travels a few unit distances directly refers to a set of positions that pass when traveling a plurality of unit distances.
  • the position set in the action space when traveling straight for 3 unit distances, the position set in the action space includes the following elements: position 1, position 2, and position 3. Similarly, when going straight for 2 unit distances, the position set of the action space includes the following elements: position one and position two.
  • the motion space that travels a few unit distances can be determined according to the following manner: all the positions without obstacles in the straight direction are used as elements in the motion space. For example, if there are no obstacles in the first position and the second position in the straight direction and there are obstacles in the third position, an action space of 2 unit distances is determined. In the straight direction, there are no obstacles in the first, second, and third positions and there are obstacles in the fourth position, and an action space of 3 unit distances is determined. After this step B), the motion space of a certain unit distance in one or more reachable directions of the current position can be determined, so as to determine the reachable position in the third reachable direction of the current position.
  • the agent After determining several unit distance action spaces for each reachable direction of the current position based on step B) and determining the reachable position in the third reachable direction, usually, the agent determines the current position only by executing it once. The step of the reachable position in the third reachable direction cannot reach the target position. Therefore, it is also necessary to determine each reachable position in the third reachable direction as the new current position, and determine the third reachable direction of the new current position and the reachable position in the third reachable direction of the new current position. . For example, after determining an action space of 3 unit distances in the reachable direction to the left of the current position, it can be determined that the agent can turn left from the current position and go straight 3 unit distances in the direction after the turn.
  • the agent When the agent reaches the position corresponding to the first, second, or third unit distance, it uses this position as the new current position again, and determines its corresponding third reachable direction and Reachable position in the third reachable direction. By continuously determining the new current position, and determining the third reachable direction and the reachable position in the third reachable direction of the new current position, the sequence can finally make the agent reach the target direction and the corresponding target position.
  • the reachable time corresponding to the reachable position is an arbitrary time.
  • the reachable time corresponding to the reachable position is determined in the following manner: the time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position. , The reachable time corresponding to the reachable position does not conflict with the time when other agents are located in the reachable position.
  • the reachable time corresponding to the reachable location and the time when other agents are located in the reachable location do not conflict by determining in the following manner: first, query the time occupancy table, which is used for recording The time at which the other agents were located in the reachable location.
  • the reachable time corresponding to the reachable position does not conflict with the time items of other agents in the time record table located in the reachable position, it is determined that the reachable time corresponding to the reachable position and other agents are The time at the reachable location does not conflict. For example, after determining the movement space of 3 unit distances in the left direction of the current position and determining the three reachable positions of the first, second, and third positions in the left direction, it should also be determined that the current agent can reach the third position. Time for the first, second, and third positions. You can query the time of the planned agent recorded in the time occupation table at the first, second, and third positions. The time other than the occupied time of the first, second, and third positions that have been recorded on the time occupancy table is determined as the time when the current agent can reach the first, second, and third positions.
  • the step of determining the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position includes: according to the available time corresponding to the current position, from the current position to the reachable position The time required and the available time corresponding to the reachable location determine the time allowed for the current agent to reach the reachable location as the reachable time corresponding to the reachable location. After determining the moving space of 3 unit distances in the left direction of the current position and determining the 3 reachable positions, the reachable time corresponding to the nearest reachable position can be determined first. After determining the reachable time corresponding to the nearest reachable location, the second reachable location is determined as the new closest location, and the reachable time corresponding to the new closest location is determined. In this way, it is possible to calculate the reachable time corresponding to each position in a space that travels a number of unit distances.
  • the available time corresponding to the current location, the time it takes from the current location to the reachable location, and the available time corresponding to the reachable location will allow the current agent to reach the reachable location.
  • the step of determining the time as the reachable time corresponding to the reachable position includes: shifting the available time corresponding to the current position to the reachable position after the time required to translate the available time to the reachable position and the available time corresponding to the reachable position The intersection of is determined as the reachable time corresponding to the reachable position.
  • the available time at the current position is 6-9 seconds
  • the available time at the first position is 5-8 seconds, and 9-12 seconds. It takes 1 second from the current position to the first position.
  • the available time of the current position is 6-9 seconds.
  • the time obtained after panning the current position to the first position after 1 second is 7-10 seconds.
  • the intersection of the obtained time 7-10 seconds and the available time at the first position 5-8 seconds, 9-12 seconds is 7-8 seconds, 9-12 seconds. That is, the 7th to 8th seconds and the 9th to 12th seconds of the time intersection are the reachable times corresponding to the first position.
  • Step S102 Determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position.
  • This step aims to determine the possible travel path of the current agent from the current position to the target position. Since there are many reachable positions between the current position and the target position, choosing a set of reachable positions may constitute a travel path from the current position to the target position. Generally, there may be multiple groups of such reachable locations from the current location to the target location, so there are multiple travel paths from the current location to the target location. At the same time, the reachable time corresponding to each reachable position on the multiple paths must be able to meet the current agent's ability to travel from the current position to the target position. That is, there is an intersection of the reachable times corresponding to the adjacent positions on each path. In this case, such a path is a travel path that enables the agent to travel from the current position to the target position. Of course, when there is only one agent, since the agent can reach the reachable position at any time, there is no time requirement between the reachable positions.
  • Step S103 Determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
  • At least one alternative travel path from the current position to the target position may be determined based on step S102.
  • This step S103 aims to determine the actual travel path of the current agent from the current position to the target position from the at least one travel path.
  • the actual travel path is a travel path that satisfies a certain condition among the at least one candidate travel path.
  • a path with the shortest distance from the current position to the target position may be selected.
  • the distance corresponding to the at least one travel path from the current position to the target position can be determined by: determining the number of reachable positions on the travel path; determining according to the number of reachable positions and the length of each reachable position The distance of the travel path. For example, there are 15 reachable positions on the travel path, and the length of each reachable position is 1m, so that the distance of this travel path can be calculated as 15m. According to this method, the distance of each travel path can be calculated, and the shortest travel path can be selected from each travel path.
  • the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position. Since each reachable position on the travel path corresponds to its own reachable time, the path that takes the least time can be selected according to the reachable time corresponding to each reachable position on the travel path. For example, when the reachable time corresponding to the target position on one of the paths is smaller than the reachable time corresponding to the target position on the other path, the traveling path is the path that takes the least time.
  • the method for determining a travel path of the agent further includes:
  • the speed of the current agent between the adjacent reachable positions is determined. Since the reachable time corresponding to each reachable position on the travel path can be determined, the reachable time between adjacent reachable positions can of course also be determined. In addition, the distance between adjacent reachable positions can be obtained by measurement. According to the distance between adjacent reachable positions and the difference in reachable time corresponding to adjacent reachable positions, the speed at which the agent passes through between adjacent reachable positions can be determined. According to the determined speed, the agent can pass the corresponding position at the speed.
  • a_1 ie, a 1 in the figure
  • S_1 ie, s 1 in the figure
  • g_1 ie, g 1 in the figure
  • the agent can move to the right or down at the current position.
  • the agent can travel 1 unit distance or 2 unit distances ... 4 unit distances.
  • the agent can also travel 1 unit distance or 2 unit distances ... 4 unit distances. It can be seen that the agent has 4 reachable positions when traveling from the current position to the right.
  • the first and second reachable positions of the four reachable positions have both a reachable position traveling to the right and a reachable position traveling downward.
  • the third reachable position of the four reachable positions has only the reachable position traveling to the right, and the fourth reachable position of the four reachable positions has only the reachable position traveling downward.
  • the first reachable position and the fourth reachable position of the reachable positions in the downward travel process have downwards.
  • the traveling reachable position also has a reachable position traveling to the right; the second reachable position and the third reachable position only have a reachable position traveling downward.
  • the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined first; then the current agent is determined according to the reachable time corresponding to the reachable position. At least one travel path from the current position to the target position; finally, according to the reachable time corresponding to the reachable position on the at least one travel path, an alternative travel path of the current agent from the current position to the target position is determined. Since this technical solution uses the reachable time to control the moment when the agent reaches the reachable position, the agent can reach the reachable position within the reachable time. As to what speed to travel to the reachable position, no special requirements are required. It can be non-uniform motion, etc. It can be a period of motion and then stop for a period of time, so that the intelligent body can reach the target position at a non-uniform speed for a continuous time.
  • FIG. 3 is a schematic diagram of an embodiment of a device for determining a travel path of an agent provided in the present application. Since the device embodiment is basically similar to the method embodiment, it is described relatively simply. For related parts, please refer to the corresponding description of the method embodiment provided above.
  • the apparatus for determining a travel path of an agent in the embodiment shown in FIG. 3 includes:
  • the reachable position and reachable time determining unit 301 is configured to determine a reachable position and a reachable time corresponding to the reachable position between the current position of the current agent and the target position;
  • An alternative travel path determining unit 302 configured to determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
  • the actual travel path determining unit 303 is configured to determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
  • the reachable position and reachable time determining unit 301 is configured to:
  • the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position, and obtain the second reachable direction and the corresponding reachable position;
  • a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
  • the reachable position and reachable time determining unit 301 may be further configured to:
  • For the third reachable direction of the current position determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
  • a reachable direction determining unit is further configured to:
  • the current direction is the first reachable direction or the third reachable direction.
  • the reachable time corresponding to the reachable position is an arbitrary time.
  • the reachable location and reachable time determining unit 301 includes:
  • the reachable time determining subunit is configured to determine the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position and other agents located in the reachable position are Time does not conflict.
  • the reachable time determining subunit is used for:
  • Query a time occupancy table which is used to record the time when other agents are located in the reachable location
  • the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
  • the reachable time determining subunit is configured to: according to the available time corresponding to the current position, the time required to reach the reachable position from the current position, and the available time corresponding to the reachable position, The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position.
  • the reachable time determining sub-unit is configured to: shift the available time corresponding to the current position to the reachable position by translating the available time corresponding to the current position to the reachable position; The intersection of the available times is determined as the reachable time corresponding to the reachable position.
  • the actual travel path determination unit 303 is configured to:
  • the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
  • the apparatus further includes:
  • a speed determining unit is configured to determine the speed of the current agent between the adjacent reachable positions according to the reachable time of each adjacent reachable position on the candidate travel path.
  • FIG. 4 shows an embodiment of the electronic device. Since the embodiment of the electronic device is basically similar to the method embodiment, the description is relatively simple. For related parts, please refer to the corresponding description of the method embodiment provided above.
  • the electronic device in the embodiment shown in FIG. 4 includes:
  • the memory is configured to store computer-executable instructions
  • the processor is configured to execute the computer-executable instructions:
  • the electronic equipment provided in this application includes:
  • the memory is configured to store computer-executable instructions
  • the processor is configured to execute the computer-executable instructions:
  • an actual travel path of the current agent from the current position to the target position is determined.
  • the present application also provides a computer-readable storage medium on which a computer program is stored.
  • a computer program When the program is executed by a processor, the following operations are performed:
  • an actual travel path of the current agent from the current position to the target position is determined.
  • a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
  • processors CPUs
  • input / output interfaces output interfaces
  • network interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include non-persistent memory, random access memory (RAM), and / or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
  • RAM random access memory
  • ROM read-only memory
  • flash RAM flash memory
  • Computer-readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information can be stored by any method or technology.
  • Information may be computer-readable instructions, data structures, modules of a program, or other data.
  • Examples of computer storage media 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), and read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media may be used to store information that can be accessed by computing devices.
  • computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.
  • this application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.

Abstract

The present application provides a method and apparatus for determining a traveling path of an agent. The method comprises: determining an available position between the current position of the current agent and a target position and an available time corresponding to the available position; determining, according to the available position and the available time corresponding to the available position, at least one alternative traveling path from the current position of the current agent to the target position; and determining, according to the at least one alternative traveling path, an actual traveling path from the current position of the current agent to the target position. Because the technical solution controls a moment at which the agent arrives at the available position by means of the available time, the agent is merely required to arrive at the available position within the available time, without any particular requirement on the speed at which the agent travels to the available position. The agent may move at a non-constant speed, etc., or may move for a period of time and stop for a period of time, such that the agent can arrive at the target position within a continuous time at a non-constant speed.

Description

智能体行进路径的确定方法及装置Method and device for determining travel path of agent
本申请要求2018年08月13日递交的申请号为201810914223.7、发明名称为“智能体行进路径的确定方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority from a Chinese patent application filed on August 13, 2018 with an application number of 201810914223.7 and an invention name of "Method and Device for Determining the Traveling Path of an Agent", the entire contents of which are incorporated herein by reference.
技术领域Technical field
本申请涉及路径规划领域,具体涉及一种智能体行进路径的确定方法及装置,还涉及一种电子设备、计算机可读存储介质。The present application relates to the field of path planning, in particular to a method and a device for determining a travel path of an agent, and also relates to an electronic device and a computer-readable storage medium.
背景技术Background technique
在物流领域,智能体(如物流机器人)可以代替人工完成分拣任务。其中,对大量智能体进行路径规划的技术尤为关键。对大量的智能体进行路径规划,是一个经典的优化问题,叫多智能体路径规划(Multi-Agent Path Planning,MAPF)。具体来说,给定一个由点集合和边集合组成的地图和一定数量的智能体(Agent),并为这些智能体设置初始位置和目的地,求解出每个智能体的运动路线,使得每个智能体都能无冲突(不与固定障碍物,或者其他智能体发生冲突)的从各自的起始位置运动到各自的目的地。In the field of logistics, agents (such as logistics robots) can replace sorting tasks manually. Among them, the technology of path planning for a large number of agents is particularly critical. Path planning for a large number of agents is a classic optimization problem called Multi-Agent Path Planning (MAPF). Specifically, given a map consisting of a set of points and edges, and a certain number of agents (agents), set the initial position and destination for these agents, solve the movement route of each agent, so Each agent can move from its starting position to its own destination without conflict (without collision with fixed obstacles or other agents).
此前,关于多智能体路径规划的研究,除了关于MAPF的研究之外,还有关于多机器运动规划(Multi-Robot Motion Planning,MMP)的研究。几乎所有MAPF的研究工作都有两个设定:1)将时间离散化,即时间轴由一个个的单位时间组成;2)基于匀速网络图的(Constant Velocity Network,CVN),没有考虑智能体本身的运动模型,即认为所有的智能体在任意时刻都是匀速运动,即任何时候都是一个时间单位运动一个单位距离。研究者也提出了MAPF-POST算法,对传统MAPF算法规划的路径做后处理。通过任意MAPF算法找到所有智能体在理想环境中的路径后,将路径画为一张增强时序计划图,每一个智能体的路径占一行,每个点代表一个事件,点X_j^i表示智能体i将排在第j个访问点X。如果有个点被多个智能体访问,后一个智能体只能在前一个智能体离开后才能前进该点。MAPF-POST算法使得各种MAPF算法求解的方案可以转换成一个不相撞的执行方案。Previously, research on multi-agent path planning, in addition to MAPF, also included research on Multi-Robot Motion Planning (MMP). Almost all MAPF research work has two settings: 1) Discretization of time, that is, the time axis is composed of one unit of time; 2) Constant Velocity Network (CVN) based on constant speed network diagram, without considering agents The motion model itself means that all agents move at a constant speed at any moment, that is, a unit of time moves a unit of distance at any time. Researchers have also proposed the MAPF-POST algorithm to post-process the paths planned by the traditional MAPF algorithm. After finding the path of all agents in the ideal environment through any MAPF algorithm, draw the path as an enhanced timing plan diagram. Each agent's path occupies one line, each point represents an event, and point X_j ^ i represents the agent. i will be ranked at the jth access point X. If a point is accessed by multiple agents, the latter agent can only advance to that point after the previous agent has left. The MAPF-POST algorithm enables various MAPF algorithm solutions to be transformed into a non-collision execution scheme.
在现实场景中,比如物流机器人,是在连续时间中运行的,且每个机器人都有自身的物理运动模型,比如启动的时候会有一个加速过程,停止前会有一个减速过程。以往MAPF算法无法有效处理这样的连续时间、非匀速运动的现实场景。以往的MMP算法、 MAPF-POST算法同样不适合解决现实场景的大规模智能体路径规划问题。In a realistic scenario, such as a logistics robot, it runs in continuous time, and each robot has its own physical motion model. For example, there will be an acceleration process when starting, and a deceleration process before stopping. In the past, the MAPF algorithm could not effectively deal with such real-time scenes of continuous time and non-uniform speed. The previous MMP algorithm and MAPF-POST algorithm are also not suitable for solving the large-scale agent path planning problem in real scenarios.
发明内容Summary of the Invention
本申请提供一种智能体行进路径的确定方法及装置,旨在解决大量智能体在连续时间、非匀速运动中路径规划的技术问题。本申请还涉及一种电子设备以及一种计算机可读存储介质。The present application provides a method and a device for determining a travel path of an agent, which aims to solve a technical problem of path planning of a large number of agents in continuous time and non-uniform speed. The application also relates to an electronic device and a computer-readable storage medium.
本申请提供的智能体行进路径的确定方法包括:The method for determining the travel path of the agent provided in this application includes:
确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
在本实施例中,所述当前位置到目标位置之间的可达位置通过以下方式确定:In this embodiment, the reachable position between the current position and the target position is determined in the following manner:
针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置;Determining the first reachable direction for the current position and current direction of the current agent, and obtaining the first reachable direction and the corresponding reachable position in the current direction of the current position;
针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置;According to the current position and current direction of the current agent, according to the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position to obtain the second reachable direction and the corresponding reachable position;
针对所述第一与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the first and second reachable directions and the corresponding reachable positions, a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
在本实施例中,所述当前位置到目标位置之间的可达位置通过以下方式确定:In this embodiment, the reachable position between the current position and the target position is determined in the following manner:
根据当前智能体的当前位置,确定第三可达方向;Determine the third reachable direction according to the current position of the current agent;
针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置;For the third reachable direction of the current position, determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the reachable direction of the current direction in the third reachable direction and the corresponding reachable position, determine a new reachable direction, the reachable direction in the new reachable direction, and the corresponding reachable position, until Reach the target direction and the corresponding target position.
在本实施例中,所述第一可达方向与第三可达方向均通过以下方式确定:In this embodiment, the first reachable direction and the third reachable direction are determined in the following manner:
确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突;Determine whether the current agent conflicts with other agents at the current position when changing direction at the current position;
不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向或第三可达方向;When there is no conflict, determine the direction that can be changed and the current direction as the first reachable direction or the third reachable direction;
冲突时,确定当前方向为第一可达方向或第三可达方向。In a conflict, it is determined that the current direction is the first reachable direction or the third reachable direction.
在本实施例中,当只存在单个智能体时,所述可达位置对应的可达时间为任意时间。In this embodiment, when there is only a single agent, the reachable time corresponding to the reachable position is an arbitrary time.
在本实施例中,当存在多个智能体时,所述可达位置对应的可达时间通过以下方式确定:In this embodiment, when there are multiple agents, the reachable time corresponding to the reachable position is determined in the following manner:
将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position does not conflict with the time when other agents are located in the reachable position.
在本实施例中,所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突通过以下方式确定:In this embodiment, the reachable time corresponding to the reachable position and the time when other agents are located in the reachable position do not conflict by determining in the following manner:
查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间;Query a time occupancy table, which is used to record the time when other agents are located in the reachable location;
如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。If the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
在本实施例中,所述将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:In this embodiment, the step of determining the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position includes:
根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。According to the available time corresponding to the current position, the time it takes from the current position to the reachable position, and the available time corresponding to the reachable position, the time allowed for the current agent to reach the reachable position is determined as the corresponding to the reachable position Reachable time.
在本实施例中,所述根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:In this embodiment, the available time corresponding to the current location, the time it takes from the current location to the reachable location, and the available time corresponding to the reachable location will allow the current agent to reach the reachable location. The time is determined as the reachable time step corresponding to the reachable location, including:
将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。The intersection of the time obtained after the available time corresponding to the current position is translated to the reachable position and the available time corresponding to the reachable position is determined as the reachable time corresponding to the reachable position .
在本实施例中,所述根据所述至少一个备选行进路径上,确定当前智能体由当前位置到目标位置的实际行进路径步骤,包括:In this embodiment, the step of determining the actual travel path of the current agent from the current position to the target position based on the at least one alternative travel path includes:
根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
在本实施例中,所述方法还包括:In this embodiment, the method further includes:
根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可达位置之间的速度。According to the reachable time of each adjacent reachable position on the candidate travel path, the speed of the current agent between the adjacent reachable positions is determined.
本申请提供的智能体行进路径的确定装置包括:The device for determining the travel path of an agent provided in this application includes:
可达位置及可达时间确定单元,用于确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;The reachable position and reachable time determining unit is used to determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
备选行进路径确定单元,用于根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;An alternative travel path determination unit, configured to determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
实际行进路径确定单元,用于根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。The actual travel path determining unit is configured to determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
在本实施例中,所述可达位置及可达时间确定单元用于:In this embodiment, the reachable position and reachable time determining unit is configured to:
针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置;Determining the first reachable direction for the current position and current direction of the current agent, and obtaining the first reachable direction and the corresponding reachable position in the current direction of the current position;
针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置;According to the current position and current direction of the current agent, according to the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position, and obtain the second reachable direction and the corresponding reachable position;
针对所述第一与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the first and second reachable directions and the corresponding reachable positions, a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
在本实施例中,所述可达位置及可达时间确定单元用于:In this embodiment, the reachable position and reachable time determining unit is configured to:
根据当前智能体的当前位置,确定第三可达方向;Determine the third reachable direction according to the current position of the current agent;
针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置;For the third reachable direction of the current position, determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the reachable direction of the current direction in the third reachable direction and the corresponding reachable position, determine a new reachable direction, the reachable direction in the new reachable direction, and the corresponding reachable position, until Reach the target direction and the corresponding target position.
在本实施例中,还包括可达方向确定单元,用于:In this embodiment, a reachable direction determining unit is further configured to:
确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突;Determine whether the current agent conflicts with other agents at the current position when changing direction at the current position;
不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向或第三可达方向;When there is no conflict, determine the direction that can be changed and the current direction as the first reachable direction or the third reachable direction;
冲突时,确定当前方向为第一可达方向或第三可达方向。In a conflict, it is determined that the current direction is the first reachable direction or the third reachable direction.
在本实施例中,当存在多个智能体时,所述可达位置及可达时间确定单元包括:In this embodiment, when there are multiple agents, the reachable location and reachable time determining unit includes:
可达时间确定子单元,用于将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。The reachable time determining subunit is configured to determine the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position and other agents located in the reachable position are Time does not conflict.
在本实施例中,所述可达时间确定子单元用于:In this embodiment, the reachable time determining subunit is used for:
查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间;Query a time occupancy table, which is used to record the time when other agents are located in the reachable location;
如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。If the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position and the other agents are located in the reachable position. The time to reach the location does not conflict.
在本实施例中,所述可达时间确定子单元用于:根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。In this embodiment, the reachable time determining subunit is configured to: according to the available time corresponding to the current position, the time required to reach the reachable position from the current position, and the available time corresponding to the reachable position, The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position.
在本实施例中,所述可达时间确定子单元用于:将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。In this embodiment, the reachable time determining sub-unit is configured to: shift the available time corresponding to the current position to the reachable position by translating the available time corresponding to the current position to the reachable position; The intersection of the available times is determined as the reachable time corresponding to the reachable position.
在本实施例中,所述实际行进路径确定单元用于:In this embodiment, the actual travel path determination unit is configured to:
根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
在本实施例中,所述装置还包括:In this embodiment, the apparatus further includes:
速度确定单元,用于根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可达位置之间的速度。A speed determining unit is configured to determine the speed of the current agent between the adjacent reachable positions according to the reachable time of each adjacent reachable position on the candidate travel path.
本申请提供的电子设备,包括:The electronic equipment provided in this application includes:
存储器和处理器;Memory and processor;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions:
确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
本申请提供的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,执行如下操作:The computer-readable storage medium provided in this application stores a computer program thereon, and when the program is executed by a processor, the following operations are performed:
存储器和处理器;Memory and processor;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions:
确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
在本申请的技术方案中,先确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;再根据可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个行进路径;最后,根据所述至少一个行进路径上的可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的备选行进路径。由于这种技术方案是通过可达时间来控制智能体到达可达位置的时刻,因此智能体在可达时间内到达可达位置即可,至于以何种速度行进至可达位置无需特殊要求,可以是非匀速运动等,可以是运动一段时间再停止一段时间,从而使智能体能连续时间内非匀速地到达目标位置。In the technical solution of the present application, the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined first; then the current agent is determined according to the reachable time corresponding to the reachable position. At least one travel path from the current position to the target position; finally, according to the reachable time corresponding to the reachable position on the at least one travel path, an alternative travel path of the current agent from the current position to the target position is determined. Since this technical solution uses the reachable time to control the moment when the agent reaches the reachable position, the agent can reach the reachable position within the reachable time. As to what speed to travel to the reachable position, no special requirements are required. It can be non-uniform motion, etc. It can be a period of motion and then stop for a period of time, so that the intelligent body can reach the target position at a non-uniform speed for a continuous time.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是本申请提供的一种智能体行进路径的确定方法的实施例的处理流程图;FIG. 1 is a processing flowchart of an embodiment of a method for determining a travel path of an agent provided in the present application; FIG.
图2是本申请提供的一种智能体行进路径的确定方法的应用场景示意图;2 is a schematic diagram of an application scenario of a method for determining a travel path of an agent provided in the present application;
图3是本申请提供的一种智能体行进路径的确定装置的实施例的示意图;3 is a schematic diagram of an embodiment of a device for determining a travel path of an agent provided in the present application;
图4是本申请提供的一种电子设备实施例的示意图。FIG. 4 is a schematic diagram of an embodiment of an electronic device provided by the present application.
具体实施方式detailed description
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。Numerous specific details are set forth in the following description to facilitate a full understanding of the application. However, this application can be implemented in many other ways than those described herein, and those skilled in the art can make similar promotion without violating the connotation of this application, so this application is not limited by the specific implementation disclosed below.
本申请提供一种智能体行进路径的确定方法,图1是本申请提供的智能体行进路径的确定方法的实施例的处理流程图。下面结合图1所示的智能体行进路径的确定方法的实施例的处理流程图,来阐述本申请提供的智能体行进路径的确定方法的技术方案。This application provides a method for determining a travel path of an agent. FIG. 1 is a processing flowchart of an embodiment of a method for determining a travel path of an agent provided by this application. The following describes the technical solution of the method for determining a travel path of an agent provided in the present application in combination with a processing flowchart of an embodiment of a method for determining a travel path of an agent shown in FIG. 1.
图1示出的智能体行进路径的确定方法的实施例的处理流程包括:The processing flow of the embodiment of the method for determining the travel path of the agent shown in FIG. 1 includes:
步骤S101,确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间。In step S101, the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined.
所述当前智能体为正在进行路径规划的智能体。所述当前智能体的当前位置指当前智能体正处在的位置。本步骤旨在基于当前智能体的当前位置,确定由当前位置到目标位置之间的各个可达位置以及各可达位置对应的可达时间。The current agent is an agent that is performing path planning. The current position of the current agent refers to the position where the current agent is currently located. This step aims to determine each reachable position from the current position to the target position and the reachable time corresponding to each reachable position based on the current position of the current agent.
在本实施例中,所述当前位置到目标位置之间的可达位置通过以下方式确定。In this embodiment, the reachable position between the current position and the target position is determined in the following manner.
第一种方式:The first way:
A)针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置。此时,不直行,仅用来确定可达方向,因此位置不变,方向变化,获得变化后的方向及对应的原位置。A) Determine the first reachable direction for the current position and current direction of the current agent, and obtain the first reachable direction and the corresponding reachable position in the current direction of the current position. At this time, do not go straight, only to determine the reachable direction, so the position is not changed, the direction is changed, and the changed direction and the corresponding original position are obtained.
B)针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置。此时,方向不变,只直行,因此位置变化、方向不变,获得原方向及对应变化后的可达位置。B) For the current position and current direction of the current agent, determine the straight reachable position in the current direction of the current position according to the motion space of several unit distances in the current direction, and obtain the second reachable direction and the corresponding reachable position . At this time, the direction does not change, but only goes straight, so the position changes and the direction does not change, and the original direction and the reachable position after the corresponding change are obtained.
C)针对所述第一与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。此时,重复步骤A)与步骤B),针对所述第一与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。C) For the first and second reachable directions and corresponding reachable positions, determine a new reachable direction and corresponding reachable positions until reaching the target direction and the corresponding target position. At this time, steps A) and B) are repeated, and a new reachable direction and a corresponding reachable position are determined for the first and second reachable directions and the corresponding reachable positions until the target direction and the corresponding reachable position are reached. target location.
其中,所述第一可达方向可以通过以下方式确定:首先,确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突。其次,不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向。再者,冲突时,确定当前方向为第一可达方向。The first reachable direction may be determined in the following manner: First, it is determined whether the current agent conflicts with other agents at the current position when the current agent changes direction at the current position. Second, when there is no conflict, the direction that can be changed and the current direction are determined as the first reachable direction. Furthermore, during a conflict, it is determined that the current direction is the first reachable direction.
为避免赘述,该第一种方式的详细描述可以参照第二种实现方式的相关部分理解。To avoid repetition, the detailed description of the first method can be understood by referring to the relevant part of the second method.
第二种实现方式:The second way:
A)根据当前智能体的当前位置,确定第三可达方向。A) Determine the third reachable direction according to the current position of the current agent.
本步骤旨在于先确定当前位置对应的可达方向。所述第三可达方向指的是在当前位置是否可以进行转向以按转向之后的方向继续行进。其中,所述第三可达方向可以通过以下方式确定,包括:首先,确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突。其次,不冲突时,将可以进行转变的方向及当前方向确定为第三可达方向。再者,冲突时,确定当前方向为第三可达方向。This step aims to first determine the reachable direction corresponding to the current position. The third reachable direction refers to whether steering can be performed at the current position to continue traveling in the direction after turning. The third reachable direction may be determined by the following methods, including: first, determining whether the current agent conflicts with other agents at the current position when the current agent changes direction at the current position. Second, when there is no conflict, the direction that can be changed and the current direction are determined as the third reachable direction. Furthermore, during a conflict, it is determined that the current direction is the third reachable direction.
智能体在当前位置进行转变方向的过程会占用一部分时间,如果转弯占用的时间段内当前位置会有其他智能体到达,说明当前智能体不应在当前位置转弯,而应该沿着原方向继续行进,以离开当前位置,为其他智能体腾出空间,避免与其他智能体冲突。如果转弯占用的时间段内当前位置不会有其他智能体到达,说明当前智能体可以在当前位置转弯。其中,可以转弯的方向作为第三可达方向。智能体可以按照各个可以转弯的方向进行转弯,之后按照转弯之后的方向继续行进。所述可以转弯的方向指转弯之后的方向上没有障碍物,智能体能够在转弯之后的方向上继续行进。所述第三可达方向可以为一个或多个。例如,前面、左边、右边都没有障碍物,那左边、右边都可以是可达方向。智能体可以在当前位置继续直行,又可以向左边转弯,也可以向右边转弯。The process of changing the direction of the agent at the current position will take part of the time. If other agents arrive at the current position within the time taken by the turn, it means that the current agent should not turn at the current position, but should continue to move in the original direction. To leave the current position to make room for other agents and avoid conflicts with other agents. If no other agent will arrive at the current position within the time taken by the turn, it means that the current agent can turn at the current position. Among them, the direction that can be turned is used as the third reachable direction. The agent can turn in each direction that can be turned, and then continue to travel in the direction after the turn. The direction that can be turned means that there is no obstacle in the direction after the turn, and the agent can continue to travel in the direction after the turn. The third reachable direction may be one or more. For example, if there are no obstacles on the front, left, and right, the left and right sides can be reachable directions. The agent can continue straight at the current position, turn to the left, or turn to the right.
B)针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置。B) For the third reachable direction of the current position, determine the reachable direction of the current position in the third reachable direction and the corresponding reachable position according to the movement space of a certain unit distance going straight.
在步骤A)确定了当前位置的第三可达方向后,本步骤B)就可以针对当前位置的第三可达方向,按照直行若干单位距离的动作空间,确定当前位置第三可达方向上的可达位置。例如,左边方向是第三可达方向时,可以针对当前位置的左边方向,按照直行若干单位距离的动作空间,确定当前位置左边方向上的可达位置。同理,右边方向是可达方向时,可以针对当前位置的右边方向,按照直行若干单位距离的动作空间,确定右边方向上的可达位置。所述直行若干单位距离的动作空间指的是直行若干单位距离时经过的位置集合。例如,直行3个单位距离时,动作空间中的位置集合包括以下元素:位置一、位置二、位置三。同理,直行2个单位距离时,动作空间的位置集合包括以下元素:位置一、位置二。其中,直行若干单位距离的动作空间可以根据以下方式来确定:将直行方向上无障碍物的位置都作为动作空间中的元素。例如,直行方向上第一位置、第二位置均无障碍物而第三个位置有障碍物,就确定2个单位距离的动作空间。直行方向上第一、二、三位置均无障碍物而第四个位置有障碍物,就确定3个单位距离的动作空间。经过本步骤B),便可以确定当前位置的一个或多个可达方向上的直行若干单位距离的动作空间,从而确定当前位置第三可达方向上的可达位置。After the third reachable direction of the current position is determined in step A), this step B) can determine the third reachable direction of the current position according to the movement space of a few unit distances for the third reachable direction of the current position. Accessible location. For example, when the left direction is the third reachable direction, the reachable position in the left direction of the current position may be determined for the left direction of the current position according to the motion space that travels straight for a number of unit distances. Similarly, when the right direction is the reachable direction, the reachable position in the right direction can be determined according to the movement space of a certain unit distance for the right direction of the current position. The motion space that travels a few unit distances directly refers to a set of positions that pass when traveling a plurality of unit distances. For example, when traveling straight for 3 unit distances, the position set in the action space includes the following elements: position 1, position 2, and position 3. Similarly, when going straight for 2 unit distances, the position set of the action space includes the following elements: position one and position two. Among them, the motion space that travels a few unit distances can be determined according to the following manner: all the positions without obstacles in the straight direction are used as elements in the motion space. For example, if there are no obstacles in the first position and the second position in the straight direction and there are obstacles in the third position, an action space of 2 unit distances is determined. In the straight direction, there are no obstacles in the first, second, and third positions and there are obstacles in the fourth position, and an action space of 3 unit distances is determined. After this step B), the motion space of a certain unit distance in one or more reachable directions of the current position can be determined, so as to determine the reachable position in the third reachable direction of the current position.
C)针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。C) determining a new reachable direction and the reachable direction in the new reachable direction and the corresponding reachable position for the reachable direction of the current direction in the third reachable direction and the corresponding reachable position Until reaching the target direction and the corresponding target position.
在基于步骤B)针对当前位置的各可达方向上确定了若干单位距离的动作空间并确定第三可达方向上的可达位置之后,通常情况下,智能体仅通过执行一次确定当前位置 上的第三可达方向上的可达位置之步骤并不能达到目标位置。因此,还需要将第三可达方向上各可达位置确定为新的当前位置,并确定新的当前位置的第三可达方向及新的当前位置的第三可达方向上的可达位置。例如,当确定了当前位置的左边可达方向上的3个单位距离的动作空间后,便可以确定智能体由当前位置可以向左转弯并且在转弯之后的方向上直行3个单位距离。当智能体到达第1个或第2个或第3个单位距离对应的位置后,便将这个位置重新作为新的当前位置,并针对该新的当前位置确定其对应的第三可达方向及第三可达方向上的可达位置。通过不断地确定新的当前位置,以及确定新的当前位置的第三可达方向及第三可达方向上的可达位置,依次循环最终便能使智能体到达目标方向及对应的目标位置。After determining several unit distance action spaces for each reachable direction of the current position based on step B) and determining the reachable position in the third reachable direction, usually, the agent determines the current position only by executing it once. The step of the reachable position in the third reachable direction cannot reach the target position. Therefore, it is also necessary to determine each reachable position in the third reachable direction as the new current position, and determine the third reachable direction of the new current position and the reachable position in the third reachable direction of the new current position. . For example, after determining an action space of 3 unit distances in the reachable direction to the left of the current position, it can be determined that the agent can turn left from the current position and go straight 3 unit distances in the direction after the turn. When the agent reaches the position corresponding to the first, second, or third unit distance, it uses this position as the new current position again, and determines its corresponding third reachable direction and Reachable position in the third reachable direction. By continuously determining the new current position, and determining the third reachable direction and the reachable position in the third reachable direction of the new current position, the sequence can finally make the agent reach the target direction and the corresponding target position.
在本实施例中,当只存在单个智能体时,所述可达位置对应的可达时间为任意时间。在本实施例中,当存在多个智能体时,所述可达位置对应的可达时间通过以下方式确定:将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。In this embodiment, when there is only a single agent, the reachable time corresponding to the reachable position is an arbitrary time. In this embodiment, when there are multiple agents, the reachable time corresponding to the reachable position is determined in the following manner: the time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position. , The reachable time corresponding to the reachable position does not conflict with the time when other agents are located in the reachable position.
当有多个智能体的路径已经先规划完毕的情况下,路径规划已经完毕的智能体在各个位置的时间已经确定。已规划完毕的智能体在某个位置占用的时间之外的时间内,正在规划路径的智能体到达时,才不会与已规划完毕的智能体相冲突。在本实施例中,所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突通过以下方式确定:首先,查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间。其次,如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间项不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。例如,当确定当前位置左边方向上直行3个单位距离的动作空间,并确定了左边方向上第一、第二、第三位置这三个可达位置之后,还应确定当前智能体可以到达第一、第二、第三位置的时间。可以查询时间占用表上记录的已经规划完毕的智能体在第一、第二、第三位置的时间。将时间占用表上已经记录的关于第一、第二、第三位置的占用时间之外的其他时间确定为当前智能体可以到达第一、第二、第三位置的时间。When the paths of multiple agents have been planned first, the time of the agents whose path planning has been completed at each location has been determined. The planned agent will not conflict with the planned agent when the agent planning the path arrives outside the time occupied by a certain location. In this embodiment, the reachable time corresponding to the reachable location and the time when other agents are located in the reachable location do not conflict by determining in the following manner: first, query the time occupancy table, which is used for recording The time at which the other agents were located in the reachable location. Secondly, if the reachable time corresponding to the reachable position does not conflict with the time items of other agents in the time record table located in the reachable position, it is determined that the reachable time corresponding to the reachable position and other agents are The time at the reachable location does not conflict. For example, after determining the movement space of 3 unit distances in the left direction of the current position and determining the three reachable positions of the first, second, and third positions in the left direction, it should also be determined that the current agent can reach the third position. Time for the first, second, and third positions. You can query the time of the planned agent recorded in the time occupation table at the first, second, and third positions. The time other than the occupied time of the first, second, and third positions that have been recorded on the time occupancy table is determined as the time when the current agent can reach the first, second, and third positions.
在本实施例中,所述将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。当确定当前位置的左边方向上直行3个单位距离的动作空 间并确定了3个可达位置后,可以先确定最近的可达位置对应的可达时间。当确定了最近的可达位置对应的可达时间之后,再将第二个可达位置确定为新的最近位置,并确定新的最近位置对应的可达时间。通过这种方式,可以算出直行若干单位距离的空间内各个位置对应的可达时间。In this embodiment, the step of determining the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position includes: according to the available time corresponding to the current position, from the current position to the reachable position The time required and the available time corresponding to the reachable location determine the time allowed for the current agent to reach the reachable location as the reachable time corresponding to the reachable location. After determining the moving space of 3 unit distances in the left direction of the current position and determining the 3 reachable positions, the reachable time corresponding to the nearest reachable position can be determined first. After determining the reachable time corresponding to the nearest reachable location, the second reachable location is determined as the new closest location, and the reachable time corresponding to the new closest location is determined. In this way, it is possible to calculate the reachable time corresponding to each position in a space that travels a number of unit distances.
在本实施例中,所述根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。In this embodiment, the available time corresponding to the current location, the time it takes from the current location to the reachable location, and the available time corresponding to the reachable location will allow the current agent to reach the reachable location. The step of determining the time as the reachable time corresponding to the reachable position includes: shifting the available time corresponding to the current position to the reachable position after the time required to translate the available time to the reachable position and the available time corresponding to the reachable position The intersection of is determined as the reachable time corresponding to the reachable position.
例如,当前位置的可用时间为第6-9秒,第一位置的可用时间为第5-8秒、第9到12秒。从当前位置到第一位置耗时1秒。当前位置的可用时间第6-9秒平移当前位置到第一位置的耗时1秒后得到的时间为第7-10秒。所述得到的时间第7-10秒与第一位置的可用时间第5-8秒、第9-12秒的交集为第7-8秒、第9-12秒。也就是该时间交集第7-8秒、第9-12秒为第一位置对应的可达时间。For example, the available time at the current position is 6-9 seconds, the available time at the first position is 5-8 seconds, and 9-12 seconds. It takes 1 second from the current position to the first position. The available time of the current position is 6-9 seconds. The time obtained after panning the current position to the first position after 1 second is 7-10 seconds. The intersection of the obtained time 7-10 seconds and the available time at the first position 5-8 seconds, 9-12 seconds is 7-8 seconds, 9-12 seconds. That is, the 7th to 8th seconds and the 9th to 12th seconds of the time intersection are the reachable times corresponding to the first position.
步骤S102,根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径。Step S102: Determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position.
本步骤旨在确定当前智能体由当前位置到目标位置之间的可能的行进路径。由于当前位置与目标位置之间存在众多可达位置,选择其中一组可达位置便可能组成一条由当前位置到目标位置的行进路径。通常,由当前位置到目标位置之间可能存在多组这样的可达位置,因此由多条由当前位置到目标位置的行进路径。同时,该多条路径上的各可达位置对应的可达时间必须能满足当前智能体能够由当前位置贯通行进至目标位置。也就是各个路径上的各相邻位置对应的可达时间存在交集,这种情况下,这样的路径才是能使智能体由当前位置贯通行进至目标位置的行进路径。当然,在只有一个智能体时,由于智能体可以在任何时间到达可达位置,因此各可达位置之间没有时间的要求。This step aims to determine the possible travel path of the current agent from the current position to the target position. Since there are many reachable positions between the current position and the target position, choosing a set of reachable positions may constitute a travel path from the current position to the target position. Generally, there may be multiple groups of such reachable locations from the current location to the target location, so there are multiple travel paths from the current location to the target location. At the same time, the reachable time corresponding to each reachable position on the multiple paths must be able to meet the current agent's ability to travel from the current position to the target position. That is, there is an intersection of the reachable times corresponding to the adjacent positions on each path. In this case, such a path is a travel path that enables the agent to travel from the current position to the target position. Of course, when there is only one agent, since the agent can reach the reachable position at any time, there is no time requirement between the reachable positions.
步骤S103,根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。Step S103: Determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
基于步骤S102可以确定由当前位置到目标位置之间的至少一条备选行进路径。本步骤S103旨在从所述至少一条行进路径中,确定出当前智能体由当前位置到目标位置的实际行进路径。所述实际行进路径是所述至少一条备选行进路径中满足一定条件的行进路径。At least one alternative travel path from the current position to the target position may be determined based on step S102. This step S103 aims to determine the actual travel path of the current agent from the current position to the target position from the at least one travel path. The actual travel path is a travel path that satisfies a certain condition among the at least one candidate travel path.
在本实施例中,可以选择从当前位置到目标位置之间距离最短的路径。当前位置到目标位置之间的所述至少一条行进路径对应的距离可以通过以下方式确定:确定行进路径上各可达位置的个数;根据可达位置的个数以及各可达位置的长度确定行进路径的距离。例如,行进路径上有15个可达位置,每个可达位置的长度为1m,这样就能算出这条行进路径的距离为15m。按照此方法可算出各行进路径的距离,并可以从各行进路径中选择距离最短的行进路径。在本实施例中,根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。由于行进路径上的各可达位置都对应着各自的可达时间,因此可以根据行进路径上各可达位置对应的可达时间来选取花费时间最少的路径。例如,当其中一条路径上目标位置对应的可达时间比其他路径上目标位置对应的可达时间小,则该行进路径就是花费时间最少的路径。在本实施例中,所述智能体行进路径的确定方法还包括:In this embodiment, a path with the shortest distance from the current position to the target position may be selected. The distance corresponding to the at least one travel path from the current position to the target position can be determined by: determining the number of reachable positions on the travel path; determining according to the number of reachable positions and the length of each reachable position The distance of the travel path. For example, there are 15 reachable positions on the travel path, and the length of each reachable position is 1m, so that the distance of this travel path can be calculated as 15m. According to this method, the distance of each travel path can be calculated, and the shortest travel path can be selected from each travel path. In this embodiment, according to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position. Since each reachable position on the travel path corresponds to its own reachable time, the path that takes the least time can be selected according to the reachable time corresponding to each reachable position on the travel path. For example, when the reachable time corresponding to the target position on one of the paths is smaller than the reachable time corresponding to the target position on the other path, the traveling path is the path that takes the least time. In this embodiment, the method for determining a travel path of the agent further includes:
根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可达位置之间的速度。由于行进路径上各可达位置对应的可达时间都可确定,相邻的可达位置之间的可达时间当然也能确定。另外,相邻可达位置之间的距离可以通过测量获得。可以根据相邻各可达位置之间的距离、相邻可达位置对应的可达时间之差,确定智能体在相邻可达位置之间贯通而过的速度。根据确定的速度,便可以使智能体以该速度通过相应位置。According to the reachable time of each adjacent reachable position on the candidate travel path, the speed of the current agent between the adjacent reachable positions is determined. Since the reachable time corresponding to each reachable position on the travel path can be determined, the reachable time between adjacent reachable positions can of course also be determined. In addition, the distance between adjacent reachable positions can be obtained by measurement. According to the distance between adjacent reachable positions and the difference in reachable time corresponding to adjacent reachable positions, the speed at which the agent passes through between adjacent reachable positions can be determined. According to the determined speed, the agent can pass the corresponding position at the speed.
下面结合图2所示的智能体行进路径的确定方法的应用场景示意图来分析本申请技术方案所能取得的技术效果。The technical effect that can be obtained by the technical solution of the present application is analyzed with reference to the application scenario diagram of the method for determining the travel path of the agent shown in FIG. 2.
如图2所示,其中a_1(即图中的a 1)表示智能体,S_1(即图中的s 1)表示智能体a_1的当前位置,g_1(即图中的g 1)表示智能体的目标位置。智能体在当前位置可以向右行进或向下行进。同时,当智能体向右行进时,由于右边无障碍物,因此可以行进1个单位距离或2个单位距离…4个单位距离。同理,当智能体向下行进时,由于下边无障碍物,因此也可以行进1个单位距离或2个单位距离…4个单位距离。可见,智能体由当前位置向右行进时有4个可达位置。同时,由图中可见,这4个可达位置中第1个与第2个可达位置既具有向右行进的可达位置,又具有向下行进的可达位置。这4个可达位置中的第3个可达位置只具有向右行进的可达位置,这4个可达位置中的第4个可达位置只具有向下行进的可达位置。同理,也可知由当前位置向下行进的过程中具有4个可达位置,这些向下行进过程中的可达位置中的第1个可达位置与第4个可达位置既具有向下行进的可达位置,又具有向右行进的可达位置;而第2个可达位置与第3个可 达位置只具有向下行进的可达位置。通过以上描述可知,无论是由当前位置向右行进,还是由当前位置向下行进,都有若干个可达位置。同时,在行进过程中的某些可达位置又具有各自的若干个可达位置。同时,每个可达位置都有对应的可达时间。根据当前位置的可达位置及对应的可达时间,以及当前位置的可达位置各自又具有的可达位置及可达时间,可以确定由当前位置到目标位置的多条行进路径。从多条可行进路径中可以选择满足一定条件的路径。 As shown in Figure 2, where a_1 (ie, a 1 in the figure) represents the agent, S_1 (ie, s 1 in the figure) represents the current position of the agent a_1, and g_1 (ie, g 1 in the figure) represents the target location. The agent can move to the right or down at the current position. At the same time, when the agent is traveling to the right, because there are no obstacles on the right, it can travel 1 unit distance or 2 unit distances ... 4 unit distances. Similarly, when the agent is moving downward, there is no obstacle below, so it can also travel 1 unit distance or 2 unit distances ... 4 unit distances. It can be seen that the agent has 4 reachable positions when traveling from the current position to the right. At the same time, it can be seen from the figure that the first and second reachable positions of the four reachable positions have both a reachable position traveling to the right and a reachable position traveling downward. The third reachable position of the four reachable positions has only the reachable position traveling to the right, and the fourth reachable position of the four reachable positions has only the reachable position traveling downward. In the same way, it can be seen that there are 4 reachable positions in the process of moving from the current position to the downward direction. The first reachable position and the fourth reachable position of the reachable positions in the downward travel process have downwards. The traveling reachable position also has a reachable position traveling to the right; the second reachable position and the third reachable position only have a reachable position traveling downward. It can be known from the above description that there are several reachable positions whether traveling from the current position to the right or downward from the current position. At the same time, some reachable positions have their own several reachable positions during the traveling process. At the same time, each reachable location has a corresponding reachable time. According to the reachable position of the current position and the corresponding reachable time, and the reachable position and reachable time of the reachable position of the current position, multiple travel paths from the current position to the target position can be determined. You can choose a path that meets certain conditions from multiple feasible paths.
在本申请的技术方案中,先确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;再根据可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个行进路径;最后,根据所述至少一个行进路径上的可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的备选行进路径。由于这种技术方案是通过可达时间来控制智能体到达可达位置的时刻,因此智能体在可达时间内到达可达位置即可,至于以何种速度行进至可达位置无需特殊要求,可以是非匀速运动等,可以是运动一段时间再停止一段时间,从而使智能体能连续时间内非匀速地到达目标位置。In the technical solution of the present application, the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position are determined first; then the current agent is determined according to the reachable time corresponding to the reachable position. At least one travel path from the current position to the target position; finally, according to the reachable time corresponding to the reachable position on the at least one travel path, an alternative travel path of the current agent from the current position to the target position is determined. Since this technical solution uses the reachable time to control the moment when the agent reaches the reachable position, the agent can reach the reachable position within the reachable time. As to what speed to travel to the reachable position, no special requirements are required. It can be non-uniform motion, etc. It can be a period of motion and then stop for a period of time, so that the intelligent body can reach the target position at a non-uniform speed for a continuous time.
本申请还提供一种智能体行进路径的确定装置。图3是本申请提供的智能体行进路径的确定装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。The present application also provides a device for determining a travel path of an agent. FIG. 3 is a schematic diagram of an embodiment of a device for determining a travel path of an agent provided in the present application. Since the device embodiment is basically similar to the method embodiment, it is described relatively simply. For related parts, please refer to the corresponding description of the method embodiment provided above.
图3所示实施例中的智能体行进路径的确定装置,包括:The apparatus for determining a travel path of an agent in the embodiment shown in FIG. 3 includes:
可达位置及可达时间确定单元301,用于确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;The reachable position and reachable time determining unit 301 is configured to determine a reachable position and a reachable time corresponding to the reachable position between the current position of the current agent and the target position;
备选行进路径确定单元302,用于根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;An alternative travel path determining unit 302, configured to determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
实际行进路径确定单元303,用于根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。The actual travel path determining unit 303 is configured to determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
在本实施例中,所述可达位置及可达时间确定单元301用于:In this embodiment, the reachable position and reachable time determining unit 301 is configured to:
针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置;Determining the first reachable direction for the current position and current direction of the current agent, and obtaining the first reachable direction and the corresponding reachable position in the current direction of the current position;
针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置;According to the current position and current direction of the current agent, according to the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position, and obtain the second reachable direction and the corresponding reachable position;
针对所述第一与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the first and second reachable directions and the corresponding reachable positions, a new reachable direction and the corresponding reachable positions are determined until the target direction and the corresponding target position are reached.
在本实施例中,所述可达位置及可达时间确定单元301还可以用于:In this embodiment, the reachable position and reachable time determining unit 301 may be further configured to:
根据当前智能体的当前位置,确定第三可达方向;Determine the third reachable direction according to the current position of the current agent;
针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置;For the third reachable direction of the current position, determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the reachable direction of the current direction in the third reachable direction and the corresponding reachable position, determine a new reachable direction, the reachable direction in the new reachable direction, and the corresponding reachable position, until Reach the target direction and the corresponding target position.
本实施例中,还包括可达方向确定单元,用于:In this embodiment, a reachable direction determining unit is further configured to:
确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突;Determine whether the current agent conflicts with other agents at the current position when changing direction at the current position;
不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向或第三可达方向;When there is no conflict, determine the direction that can be changed and the current direction as the first reachable direction or the third reachable direction;
冲突时,确定当前方向为第一可达方向或第三可达方向。In a conflict, it is determined that the current direction is the first reachable direction or the third reachable direction.
在本实施例中,当只存在单个智能体时,所述可达位置对应的可达时间为任意时间。In this embodiment, when there is only a single agent, the reachable time corresponding to the reachable position is an arbitrary time.
在本实施例中,当存在多个智能体时,所述可达位置及可达时间确定单元301包括:In this embodiment, when there are multiple agents, the reachable location and reachable time determining unit 301 includes:
可达时间确定子单元,用于将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。The reachable time determining subunit is configured to determine the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position and other agents located in the reachable position are Time does not conflict.
在本实施例中,所述可达时间确定子单元用于:In this embodiment, the reachable time determining subunit is used for:
查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间;Query a time occupancy table, which is used to record the time when other agents are located in the reachable location;
如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。If the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
在本实施例中,所述可达时间确定子单元用于:根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。In this embodiment, the reachable time determining subunit is configured to: according to the available time corresponding to the current position, the time required to reach the reachable position from the current position, and the available time corresponding to the reachable position, The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position.
在本实施例中,所述可达时间确定子单元用于:将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。In this embodiment, the reachable time determining sub-unit is configured to: shift the available time corresponding to the current position to the reachable position by translating the available time corresponding to the current position to the reachable position; The intersection of the available times is determined as the reachable time corresponding to the reachable position.
在本实施例中,所述实际行进路径确定单元303用于:In this embodiment, the actual travel path determination unit 303 is configured to:
根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
在本实施例中,所述装置还包括:In this embodiment, the apparatus further includes:
速度确定单元,用于根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可达位置之间的速度。A speed determining unit is configured to determine the speed of the current agent between the adjacent reachable positions according to the reachable time of each adjacent reachable position on the candidate travel path.
本申请还提供一种电子设备。图4示出了该电子设备的一个实施例。由于该电子设备的实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。The present application also provides an electronic device. FIG. 4 shows an embodiment of the electronic device. Since the embodiment of the electronic device is basically similar to the method embodiment, the description is relatively simple. For related parts, please refer to the corresponding description of the method embodiment provided above.
图4所示实施例中电子设备包括:The electronic device in the embodiment shown in FIG. 4 includes:
存储器401和处理器402;A memory 401 and a processor 402;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions:
本申请提供的电子设备,包括:The electronic equipment provided in this application includes:
存储器和处理器;Memory and processor;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions:
确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,执行如下操作:The present application also provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the following operations are performed:
确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。Although the present application is disclosed above with the preferred embodiments, it is not intended to limit the present application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of the present application. The scope of protection shall be subject to the scope defined by the claims of this application.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-persistent memory, random access memory (RAM), and / or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both permanent and non-persistent, removable and non-removable media. Information can be stored by any method or technology. Information may be computer-readable instructions, data structures, modules of a program, or other data. Examples of computer storage media 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), and read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media may be used to store information that can be accessed by computing devices. As defined herein, computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

Claims (24)

  1. 一种智能体行进路径的确定方法,其特征在于,所述方法包括:A method for determining a travel path of an agent, characterized in that the method includes:
    确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
    根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
    根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
  2. 根据权利要求1所述的方法,其特征在于,所述当前智能体的当前位置到目标位置之间的可达位置通过以下方式确定:The method according to claim 1, wherein the reachable position between the current position of the current agent and the target position is determined in the following manner:
    针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置;Determining the first reachable direction for the current position and current direction of the current agent, and obtaining the first reachable direction and the corresponding reachable position in the current direction of the current position;
    针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置;According to the current position and current direction of the current agent, according to the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position to obtain the second reachable direction and the corresponding reachable position;
    针对所述第一可达方向与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the first reachable direction and the second reachable direction and the corresponding reachable position, determine a new reachable direction and the corresponding reachable position until reaching the target direction and the corresponding target position.
  3. 根据权利要求1所述的方法,其特征在于,所述当前位置到目标位置之间的可达位置通过以下方式确定:The method according to claim 1, wherein the reachable position between the current position and the target position is determined in the following manner:
    根据当前智能体的当前位置,确定第三可达方向;Determine the third reachable direction according to the current position of the current agent;
    针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置;For the third reachable direction of the current position, determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
    针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the reachable direction of the current direction in the third reachable direction and the corresponding reachable position, determine a new reachable direction, the reachable direction in the new reachable direction, and the corresponding reachable position, until Reach the target direction and the corresponding target position.
  4. 根据权利要求2或3所述的方法,其特征在于,第一可达方向与第三可达方向均通过以下方式确定:The method according to claim 2 or 3, wherein both the first reachable direction and the third reachable direction are determined in the following manner:
    确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突;Determine whether the current agent conflicts with other agents at the current position when changing direction at the current position;
    不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向或第三可达方向;When there is no conflict, determine the direction that can be changed and the current direction as the first reachable direction or the third reachable direction;
    冲突时,确定当前方向为第一可达方向或第三可达方向。In a conflict, it is determined that the current direction is the first reachable direction or the third reachable direction.
  5. 根据权利要求1-3任意一项所述的方法,其特征在于,当只存在单个智能体时,所述可达位置对应的可达时间为任意时间。The method according to any one of claims 1-3, characterized in that when there is only a single agent, the reachable time corresponding to the reachable position is an arbitrary time.
  6. 根据权利要求1-3任意一项所述的方法,其特征在于,当存在多个智能体时,所述可达位置对应的可达时间通过以下方式确定:The method according to any one of claims 1-3, wherein when there are multiple agents, the reachable time corresponding to the reachable position is determined in the following manner:
    将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。The time allowed for the current agent to reach the reachable position is determined as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position does not conflict with the time when other agents are located in the reachable position.
  7. 根据权利要求6所述的方法,其特征在于,所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突通过以下方式确定:The method according to claim 6, characterized in that the reachable time corresponding to the reachable location and the time when other agents are located in the reachable location are determined in the following manner:
    查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间;Query a time occupancy table, which is used to record the time when other agents are located in the reachable location;
    如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。If the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
  8. 根据权利要求6所述的方法,其特征在于,所述将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:The method according to claim 6, wherein the step of determining the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position comprises:
    根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。According to the available time corresponding to the current position, the time it takes from the current position to the reachable position, and the available time corresponding to the reachable position, the time allowed for the current agent to reach the reachable position is determined as the corresponding to the reachable position Reachable time.
  9. 根据权利要求8所述的方法,其特征在于,所述根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间步骤,包括:The method according to claim 8, characterized in that, according to the available time corresponding to the current position, the time required to travel from the current position to the reachable position, and the available time corresponding to the reachable position, the current The time it takes the agent to reach the reachable location is determined as the reachable time step corresponding to the reachable location, including:
    将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。The intersection of the time obtained after the available time corresponding to the current position is translated to the reachable position and the available time corresponding to the reachable position is determined as the reachable time corresponding to the reachable position .
  10. 根据权利要求1所述的方法,其特征在于,所述根据所述至少一个备选行进路径上,确定当前智能体由当前位置到目标位置的实际行进路径步骤,包括:The method according to claim 1, wherein the step of determining the actual travel path of the current agent from the current position to the target position based on the at least one alternative travel path comprises:
    根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
  11. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, further comprising:
    根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可 达位置之间的速度。According to the reachable time of each adjacent reachable position on the alternative travel path, the speed of the current agent between the adjacent reachable positions is determined.
  12. 一种智能体行进路径的确定装置,其特征在于,所述装置包括:A device for determining a travel path of an agent, characterized in that the device includes:
    可达位置及可达时间确定单元,用于确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;The reachable position and reachable time determining unit is used to determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
    备选行进路径确定单元,用于根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;An alternative travel path determination unit, configured to determine at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
    实际行进路径确定单元,用于根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。The actual travel path determining unit is configured to determine an actual travel path of the current agent from the current position to the target position according to the at least one alternative travel path.
  13. 根据权利要求12所述的装置,其特征在于,所述可达位置及可达时间确定单元用于:The device according to claim 12, wherein the reachable position and reachable time determining unit is configured to:
    针对当前智能体的当前位置和当前方向,确定第一可达方向,得到当前位置当前方向上的第一可达方向及对应的可达位置;Determining the first reachable direction for the current position and current direction of the current agent, and obtaining the first reachable direction and the corresponding reachable position in the current direction of the current position;
    针对当前智能体的当前位置和当前方向,根据在当前方向上直行若干单位距离的动作空间,确定当前位置当前方向上的直行可达位置,得到第二可达方向及对应的可达位置;According to the current position and current direction of the current agent, according to the motion space that travels a certain unit distance in the current direction, determine the directly reachable position in the current direction of the current position to obtain the second reachable direction and the corresponding reachable position;
    针对所述第一可达方向与第二可达方向及对应的可达位置,确定新的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the first reachable direction and the second reachable direction and the corresponding reachable position, determine a new reachable direction and the corresponding reachable position until reaching the target direction and the corresponding target position.
  14. 根据权利要求12所述的装置,其特征在于,所述可达位置及可达时间确定单元用于:The device according to claim 12, wherein the reachable position and reachable time determining unit is configured to:
    根据当前智能体的当前位置,确定第三可达方向;Determine the third reachable direction according to the current position of the current agent;
    针对当前位置的第三可达方向,根据直行若干单位距离的动作空间,确定当前位置当前方向在第三可达方向上的可达方向及对应的可达位置;For the third reachable direction of the current position, determine the reachable direction of the current position's current direction in the third reachable direction and the corresponding reachable position according to the movement space of several unit distances going straight;
    针对当前位置当前方向在第三可达方向上的可达方向及对应的可达位置,确定新的可达方向与所述新的可达方向上的可达方向及对应的可达位置,直至到达目标方向及对应的目标位置。For the reachable direction of the current direction in the third reachable direction and the corresponding reachable position, determine a new reachable direction, the reachable direction in the new reachable direction, and the corresponding reachable position, until Reach the target direction and the corresponding target position.
  15. 根据权利要求13或14所述的装置,其特征在于,还包括可达方向确定单元,用于:The device according to claim 13 or 14, further comprising a reachable direction determining unit, configured to:
    确定当前智能体在当前位置转变方向时是否与其他智能体在当前位置冲突;Determine whether the current agent conflicts with other agents at the current position when changing direction at the current position;
    不冲突时,将可以进行转变的方向及当前方向确定为第一可达方向或第三可达方向;When there is no conflict, determine the direction that can be changed and the current direction as the first reachable direction or the third reachable direction;
    冲突时,确定当前方向为第一可达方向或第三可达方向。In a conflict, it is determined that the current direction is the first reachable direction or the third reachable direction.
  16. 根据权利要求12-14任意一项所述的装置,其特征在于,当只存在单个智能体时,所述可达位置对应的可达时间为任意时间。The device according to any one of claims 12 to 14, wherein when there is only a single agent, the reachable time corresponding to the reachable position is an arbitrary time.
  17. 根据权利要求12-14任意一项所述的装置,其特征在于,当存在多个智能体时,所述可达位置及可达时间确定单元包括:The device according to any one of claims 12 to 14, wherein when there are multiple agents, the reachable position and reachable time determining unit includes:
    可达时间确定子单元,用于将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间,可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。The reachable time determining subunit is configured to determine the time allowed for the current agent to reach the reachable position as the reachable time corresponding to the reachable position, and the reachable time corresponding to the reachable position and other agents located in the reachable position are Time does not conflict.
  18. 根据权利要求17所述的装置,其特征在于,所述可达时间确定子单元用于:The apparatus according to claim 17, wherein the reachable time determining subunit is configured to:
    查询时间占用表,所述时间占用表用于记录其他智能体位于所述可达位置的时间;Query a time occupancy table, which is used to record the time when other agents are located in the reachable location;
    如果所述可达位置对应的可达时间与时间记录表里的其他智能体位于所述可达位置的时间不冲突,则确定所述可达位置对应的可达时间与其他智能体位于所述可达位置的时间不冲突。If the reachable time corresponding to the reachable position does not conflict with the time when other agents in the time record table are located in the reachable position, determine that the reachable time corresponding to the reachable position is located in the reachable position with other agents The time to reach the location does not conflict.
  19. 根据权利要求17所述的装置,其特征在于,所述可达时间确定子单元用于:The apparatus according to claim 17, wherein the reachable time determining subunit is configured to:
    根据当前位置对应的可用时间、从当前位置到所述可达位置需花费的时间、所述可达位置对应的可用时间,将允许当前智能体到达可达位置的时间确定为可达位置对应的可达时间。According to the available time corresponding to the current position, the time it takes from the current position to the reachable position, and the available time corresponding to the reachable position, the time allowed for the current agent to reach the reachable position is determined as the corresponding to the reachable position Reachable time.
  20. 根据权利要求19所述的装置,其特征在于,所述可达时间确定子单元用于:The apparatus according to claim 19, wherein the reachable time determining subunit is configured to:
    将当前位置对应的可用时间平移当前位置到所述可达位置需花费的时间之后所得到的时间与所述可达位置对应的可用时间的交集,确定为所述可达位置对应的可达时间。The intersection of the time obtained after the available time corresponding to the current position is translated to the reachable position and the available time corresponding to the reachable position is determined as the reachable time corresponding to the reachable position .
  21. 根据权利要求13所述的装置,其特征在于,所述实际行进路径确定单元用于:The apparatus according to claim 13, wherein the actual travel path determining unit is configured to:
    根据所述至少一个备选行进路径,选取花费时间最少的路径为所述当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, the path that takes the least time is selected as the actual travel path of the current agent from the current position to the target position.
  22. 根据权利要求13所述的装置,其特征在于,所述装置还包括:The apparatus according to claim 13, further comprising:
    速度确定单元,用于根据所述备选行进路径上各相邻可达位置的可达时间,确定当前智能体在各相邻可达位置之间的速度。A speed determining unit is configured to determine the speed of the current agent between the adjacent reachable positions according to the reachable time of each adjacent reachable position on the candidate travel path.
  23. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    存储器和处理器;Memory and processor;
    所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指 令:The memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions:
    确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
    根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
    根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
  24. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,执行如下操作:A computer-readable storage medium on which a computer program is stored, characterized in that when the program is executed by a processor, the following operations are performed:
    确定当前智能体的当前位置到目标位置之间的可达位置及可达位置对应的可达时间;Determine the reachable position between the current position of the current agent and the target position and the reachable time corresponding to the reachable position;
    根据可达位置及可达位置对应的可达时间,确定当前智能体由当前位置到目标位置的至少一个备选行进路径;Determining at least one alternative travel path of the current agent from the current position to the target position according to the reachable position and the reachable time corresponding to the reachable position;
    根据所述至少一个备选行进路径,确定当前智能体由当前位置到目标位置的实际行进路径。According to the at least one alternative travel path, an actual travel path of the current agent from the current position to the target position is determined.
PCT/CN2019/099720 2018-08-13 2019-08-08 Method and apparatus for determining traveling path of agent WO2020034887A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810914223.7A CN110826755B (en) 2018-08-13 2018-08-13 Method and device for determining intelligent agent traveling path
CN201810914223.7 2018-08-13

Publications (1)

Publication Number Publication Date
WO2020034887A1 true WO2020034887A1 (en) 2020-02-20

Family

ID=69525191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/099720 WO2020034887A1 (en) 2018-08-13 2019-08-08 Method and apparatus for determining traveling path of agent

Country Status (3)

Country Link
CN (1) CN110826755B (en)
TW (1) TW202009814A (en)
WO (1) WO2020034887A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111888774B (en) * 2020-07-03 2021-11-30 深圳怡丰自动化科技有限公司 Cabin control method and device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169347A (en) * 2011-03-08 2011-08-31 浙江工业大学 Multi-robot path planning system based on cooperative co-evolution and multi-population genetic algorithm
CN102799179A (en) * 2012-07-06 2012-11-28 山东大学 Mobile robot path planning algorithm based on single-chain sequential backtracking Q-learning
CN103823466A (en) * 2013-05-23 2014-05-28 电子科技大学 Path planning method for mobile robot in dynamic environment
CN105446343A (en) * 2016-01-04 2016-03-30 杭州亚美利嘉科技有限公司 Robot scheduling method and apparatus
CN105652838A (en) * 2016-01-29 2016-06-08 哈尔滨工大服务机器人有限公司 Multi-robot path planning method based on time window
CN107168334A (en) * 2017-06-26 2017-09-15 上海与德通讯技术有限公司 A kind of paths planning method and robot
US20170344007A1 (en) * 2016-05-26 2017-11-30 Korea University Research And Business Foundation Method for controlling mobile robot based on bayesian network learning

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169347A (en) * 2011-03-08 2011-08-31 浙江工业大学 Multi-robot path planning system based on cooperative co-evolution and multi-population genetic algorithm
CN102799179A (en) * 2012-07-06 2012-11-28 山东大学 Mobile robot path planning algorithm based on single-chain sequential backtracking Q-learning
CN103823466A (en) * 2013-05-23 2014-05-28 电子科技大学 Path planning method for mobile robot in dynamic environment
CN105446343A (en) * 2016-01-04 2016-03-30 杭州亚美利嘉科技有限公司 Robot scheduling method and apparatus
CN105652838A (en) * 2016-01-29 2016-06-08 哈尔滨工大服务机器人有限公司 Multi-robot path planning method based on time window
US20170344007A1 (en) * 2016-05-26 2017-11-30 Korea University Research And Business Foundation Method for controlling mobile robot based on bayesian network learning
CN107168334A (en) * 2017-06-26 2017-09-15 上海与德通讯技术有限公司 A kind of paths planning method and robot

Also Published As

Publication number Publication date
CN110826755B (en) 2022-06-28
TW202009814A (en) 2020-03-01
CN110826755A (en) 2020-02-21

Similar Documents

Publication Publication Date Title
US11709502B2 (en) Roadmap annotation for deadlock-free multi-agent navigation
US10037029B1 (en) Roadmap segmentation for robotic device coordination
CN109976355A (en) Method for planning track, system, equipment and storage medium
US10894322B2 (en) Robot motion planning
CN108287545B (en) Conflict management method and system for multiple mobile robots
JP2022082419A (en) Systems and methods for optimizing route plans in operating environment
CN108267149B (en) Conflict management method and system for multiple mobile robots
WO2019141222A1 (en) Conflict management method and system for multiple mobile robots
JP2023547745A (en) Vehicle obstacle avoidance methods, devices, electronic devices, storage media
KR20150137166A (en) Method for planning path for avoiding collision between multi-mobile robot
CN113341941B (en) Control method and device of unmanned equipment
Lienert et al. No More Deadlocks-Applying The Time Window Routing Method To Shuttle Systems.
CN112506198A (en) Robot scheduling method, device, equipment and medium
CN111650931A (en) Method, apparatus and storage medium for path determination of multiple mobile devices
Levy et al. The extended velocity obstacle and applying orca in the real world
CN112835364A (en) Multi-robot path planning method based on conflict detection
WO2020034887A1 (en) Method and apparatus for determining traveling path of agent
Ji et al. A computational interactive approach to multi-agent motion planning
WO2023201952A1 (en) Method and apparatus for determining optimal traveling trajectory of vehicle
CN115454082A (en) Vehicle obstacle avoidance method and system, computer readable storage medium and electronic device
CN112987762B (en) Trajectory planning method and device, storage medium and electronic equipment
US20220300002A1 (en) Methods and systems for path planning in a known environment
CN113156950A (en) Multi-robot intelligent traffic control method and device
Ögretmen et al. A Hybrid Trajectory Planning Approach for Autonomous Rule-Compliant Multi-Vehicle Oval Racing
Vavrinec et al. Prioritized planning for road vehicles coordination

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19849868

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19849868

Country of ref document: EP

Kind code of ref document: A1