Outer Rim Archives
Archives · 2020 · 10579926

Granted patent

Method and device for multi-agent path planning

Number
10579926
Published
2020-03-03
Filed
2015-12-21
Assignee
Disney Enterprises, Inc.
Inventors
Yedidia; Jonathan S., Bento; Jose, Derbinsky; Nate, Mathy; Charles
CPC
G05D1/0217; G06F17/11; G06N3/006; G06N5/02; G06N7/01
Verdict
High Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Multi-agent/multi-robot path planning algorithm.

Abstract

A method and device determines an optimization solution for an optimization problem. The method includes receiving the optimization problem having cost functions and variables where the cost functions have a relationship with the variables and receiving a landmark indicating a point that an agent is to visit while moving, a cost being associated with ignoring the landmark. The method includes generating a first message for the cost functions for the corresponding variable based upon the relationship and a second message for each of the variables for the corresponding cost function based upon the relationship. The method includes generating a disagreement variable for each corresponding pair of variables and cost functions measuring a disagreement value between the first and second beliefs. The method includes repeating steps (c), (d), and (e) until a consensus is formed between the first and second messages until the optimization solution is determined based upon the consensus.

Background

BACKGROUND INFORMATION(1) An optimization algorithm may be used to determine a solution for a problem in which the solution considers all variables and constraints related to the problem and provides a lowest cost configuration of the values for all the variables. For example, in a televised event, a plurality of cameras may be used to capture the event. The cameras may move along planned trajectories to fully capture the event. Accordingly, the problem associated with such a scenario may be to determine the planned trajectories for the cameras that incorporate the variables and constraints associated therewith. Such variables and constraints may include no overlap of space as the cameras cannot physically be co-located at a common time, a trajectory path that provides a sufficient video capture of the event, a tracking algorithm for the occurrences during the event, etc. Through incorporation of all these considerations, the optimization algorithm may determine the trajectories of the cameras to provide the lowest cost solution (e.g., least distance to be covered by the cameras, best coverage of the event, least energy requirements, etc.). However, most optimization algorithms require significantly high processing requirements for all these considerations to be assessed as well as provide the lowest cost solution to the problem.(2) A conventional algorithm used for convex optimization is the Alternating Direction Method of Multipliers (ADMM). Conventionally, the ADMM algorit

Claims

1. A method, comprising: (a) receiving an optimization problem, the optimization problem including a plurality of cost functions and a plurality of variables, the cost functions representing possible costs for values of the variables in the optimization problem, each of the cost functions having a predetermined relationship with select ones of the variables, wherein the optimization problem comprises a trajectory planning problem in which a plurality of agents are to move from a first configuration to a second configuration; (b) receiving at least one landmark, each landmark indicating at least one point that a selected one of the agents is to visit while moving from the first configuration to the second configuration, a further possible cost for the values of the variables in the optimization problem being generated when the selected agent ignores the landmark; (c) generating a first message for each of the cost functions for each corresponding variable based upon the respective predetermined relationship, the first message indicating a first belief that the corresponding variable has a first value when the optimization problem is solved, the first message having a respective first weight indicating a certainty of the first message; (d) generating a second message for each of the variables for each corresponding cost function based upon the respective predetermined relationship, the second message indicating a second belief that the corresponding variable has a second value when the optimization problem is solved, the second message having a respective second weight indicating a certainty of the second message; (e) generating a disagreement variable for each corresponding pair of variables and cost functions measuring a disagreement value between the first and second beliefs; (f) repeating steps (c), (d), and (e) until a consensus is formed between the first and second messages, a subsequent first message being modified based upon the second message, its corresponding second weight, and the corresponding disagreement variable, and a subsequent second message being modified based upon the first message, its corresponding first weight, and the corresponding disagreement variable; and (g) determining an optimization solution based upon the consensus, wherein the optimization solution comprises a solution to the trajectory planning problem. 10. A device, comprising: a processor coupled to a memory, wherein the processor is programmed to determine an optimization solution to an optimization problem by: (a) receiving the optimization problem, the optimization problem including a plurality of cost functions and a plurality of variables, the cost functions representing possible costs for values of the variables in the optimization problem, each of the cost functions having a predetermined relationship with select ones of the variables, wherein the optimization problem comprises a trajectory planning problem in which a plurality of agents are to move from a first configuration to a second configuration; (b) receiving at least one landmark, each landmark indicating at least one point that a selected one of the agents is to visit while moving from the first configuration to the second configuration, a further possible cost for the values of the variables in the optimization problem being generated when the selected agent ignores the landmark; (c) generating a first message for each of the cost functions for each corresponding variable based upon the respective predetermined relationship, the first message indicating a first belief that the corresponding variable has a first value when the optimization problem is solved, the first message having a respective first weight indicating a certainty of the first message; (d) generating a second message for each of the variables for each corresponding cost function based upon the respective predetermined relationship, the second message indicating a second belief that the corresponding variable has a second value when the optimization problem is solved, the second message having a respective second weight indicating a certainty of the second message; (e) generating a disagreement variable for each corresponding pair of variables and cost functions measuring a disagreement value between the first and second beliefs; (f) repeating steps (c), (d), and (e) until a consensus is formed between the first and second messages, a subsequent first message being modified based upon the second message, its corresponding second weight, and the corresponding disagreement variable, and a subsequent second message being modified based upon the first message, its corresponding first weight, and the corresponding disagreement variable; and (g) determining the optimization solution based upon the consensus, wherein the optimization solution comprises a solution to the trajectory planning problem. 18. A non-transitory computer readable storage medium with an executable program stored thereon, wherein the program instructs a microprocessor to perform operations comprising: (a) receiving an optimization problem, the optimization problem including a plurality of cost functions and a plurality of variables, the cost functions representing possible costs for values of the variables in the optimization problem, each of the cost functions having a predetermined relationship with select ones of the variables, wherein the optimization problem comprises a trajectory planning problem in which a plurality of agents are to move from a first configuration to a second configuration: (b) receiving at least one landmark, each landmark indicating at least one point that a selected one of the agents is to visit while moving from the first configuration to the second configuration, a further possible cost for the values of the variables in the optimization problem being generated when the selected agent ignores the landmark; (c) generating a first message for each of the cost functions for each corresponding variable based upon the respective predetermined relationship, the first message indicating a first belief that the corresponding variable has a first value when the optimization problem is solved, the first message having a respective first weight indicating a certainty of the first message; (d) generating a second message for each of the variables for each corresponding cost function based upon the respective predetermined relationship, the second message indicating a second belief that the corresponding variable has a second value when the optimization problem is solved, the second message having a respective second weight indicating a certainty of the second message; (e) generating a disagreement variable for each corresponding pair of variables and cost functions measuring a disagreement value between the first and second beliefs; (f) repeating steps (c), (d), and (e) until a consensus is formed between the first and second messages, a subsequent first message being modified based upon the second message, its corresponding second weight, and the corresponding disagreement variable, and a subsequent second message being modified based upon the first message, its corresponding first weight, and the corresponding disagreement variable; and (g) determining an optimization solution based upon the consensus, wherein the optimization solution comprises a solution to the trajectory planning problem.