SlideShare a Scribd company logo
An Anytime Winner Determination AlgorithmforTime-Extended Multi-Robot Task Allocation Dr. Fang Tang & Spondon Saha Intelligent Robotics Lab California State Polytechnic University  Pomona, CA
Outline Intelligent Robotics Lab, Cal Poly Pomona Introduction ASyMTRe-D Combinatorial Auctions Simultaneous Task Allocation (STA) Performance Metrics Future Work Conclusion References Q&A 2
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  Automated Synthesis of Multi-robot Task solutions through software Reconfiguration. ASyMTRe determines: a coalition of robots. from a heterogeneous group of robots. to carry out a given multi-robot task. 3
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  Heterogeneous group of robots??? Robots with different functional capabilities. Multi-robot task??? A task that cannot be carried out by a single robot. Requires a “strongly cooperative” solution. 4
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  ASyMTRe Centralized algorithm. Runs on a central server. Aware of the number of robots and their individual capabilities. ASyMTRe-D Distributed ASyMTRe designed using the Contract Net Protocol. Runs locally on each robot. Uses a group negotiation process to determine coalitions. 5
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  R1 Task A Idle Robots R5 R2 R4 R3 6
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  ASyMTRe-D takes into account: Task-Specific cost. Robot-inherent cost. Determines a suitable mapping between: Task. Robots. 7
Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D  Problem: Can handle only one task at a time. Each round results in idle robots. Desired behavior: Need to reduce instances of idle robots. Make idle robots work on other tasks (if any). 8
Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions  Sequential Auctions. Parallel Auctions. Combinatorial Auctions. 9
Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions  Auctioneer ??? ??? Item 1 Item 4 Item 3 Item 2 Item 5 [3,5] [1,2] [1,3,5] [1, 4] ,[2,5] 10
Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions  Complexity: A NP-complete problem. Similar to the Partitioning problem -> NPC. Dynamic Programming: Long execution time. Explores the entire solution space. Scales to only a small number of bids. 11
Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions  Solution: An Anytime tree algorithm. Explores only the relevant solution space. Polynomial in the number of bids submitted. 12
Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions  Bids: 1 2 3 4 5 1,2 1,3,5 1,4 2,5 3,5 Root 1,2 1,3,5 1,4 1 3,5 3 2 2,5 2 2,5 2 4 4 4 3 3,5 3 3 3,5 3 5 5 4 4 4 5 13
Intelligent Robotics Lab, Cal Poly Pomona Quick Review ASyMTRe-D Drawbacks: Accepts tasks sequentially. Order of task execution determine total execution time. Idle robots are waste of resources. Need: A task scheduler. Least robot idle-time -> maximum utilization of resources. Inspiration for STA: Combinatorial Auctions. 14
Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) {R3, $5} {R3, $3} {R2,R3, $4} {R2, $1} {R2,R3, $4} {R1,R2, $3} {R1,R2, $4} {R1,R3, $4} Task1 Task2 Task 3 R1 R2 R3 15
Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) ` Root 3 4 5 0 R1, R2 R2, R3 R3 6 9 6 5 4 1 3 3 4 0 R3 R1, R2 R2 R1, R2 R2 R3 4 4 5 R2, R3 R1, R3 R1, R3 16
Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) Will always return a partial answer if terminated early. Each path is a set of disjoint coalitions -> Partition. All possible partitions of robots are considered. Run time complexity depends on: Number of bids submitted. Number of tasks considered. 17
Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) Task B Task C …… Task N Task D Task E Task F Task A STA Algorithm ASyMTRe-D equipped…                         18
Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Test Environment: Dell Inspiron 6400. 1.73 GHz Pentium Dual Core Processors. 2 GB of RAM. Python. Objective: To measure the execution time of the algorithm For increasing bids. For increasing task sizes. 19
Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Random Distribution: Bids accepted -> 10 - 100 Task Sizes -> 5, 10, 15, 20 Robots -> 10 Maximum allowed coalition size -> 9 Uniform Distribution: Bids accepted -> 10 - 50 Task Sizes -> 5, 10, 15, 20 Robots -> 10 Maximum allowed coalition size -> 3 20
Performance (STA) Intelligent Robotics Lab, Cal Poly Pomona Random Distribution 21
Performance (STA) Intelligent Robotics Lab, Cal Poly Pomona Uniform Distribution 22
Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Problems: Execution time is exceedingly long. The entire tree is generated irrespective. Need: Faster execution time. Generate only relevant parts of tree. 23
Intelligent Robotics Lab, Cal Poly Pomona Future Work (STA) Use heuristics to generate only relevant portions of tree. Iterative Deepening A* (IDA*) Optimize the current version of the algorithm. Demonstrate the complete approach using ASyMTRe-D. 24
Intelligent Robotics Lab, Cal Poly Pomona Conclusion (STA) Multiple tasks are being considered. All possible mapping of tasks to coalitions. No restriction on coalition size. Reduced overall execution time. STA (Higher level). ASyMTRe-D (Lower level). An Anytime Algorithm!! 25
Intelligent Robotics Lab, Cal Poly Pomona References Sandholm, T. 1999. Algorithm for Optimal Winner Determination in Combinatorial Auctions, International Joint Conference on Artificial Intelligence (July). Stockholm, Sweden, 542-547. Parker, L.E., Tang, F., 2005. ASyMTRe: Automated Synthesis of Multi-Robot Task Solutions through Software Reconfiguration. In Proceedings of IEEE International Conference on Robotics and Automation (April). Tang, F., Parker, L. E. , 2005. Distributed Multi-Robot Coalitions through ASyMTRe-D. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (August). Parker, L.E. and Tang, F., 2006. Building Multirobot Coalitions through Automated Task Solution Synthesis.  In Proceedings of the IEEE v. 94 No. 7 (July). 1289-1305. Parker, L.E., Tang, F., 2007. A Complete Methodology for Generating Multi-Robot Task Solutions using ASyMTRe-D and Market-Based Task Allocation. To Appear in the IEEE International Conference on Robotics and Automation (April). Wikipedia. http://www.wikipedia.org/ 26
Questions?? 27 Intelligent Robotics Lab, Cal Poly Pomona

More Related Content

Similar to ARCS Presentation 2008

Crude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationCrude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimization
Brenno Menezes
 
Parallel Artificial Bee Colony Algorithm
Parallel Artificial Bee Colony AlgorithmParallel Artificial Bee Colony Algorithm
Parallel Artificial Bee Colony Algorithm
Sameer Raghuram
 
Using Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements PrioritizationUsing Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements Prioritization
Francis Palma
 
[DOLAP2020] Towards Conversational OLAP
[DOLAP2020] Towards Conversational OLAP[DOLAP2020] Towards Conversational OLAP
[DOLAP2020] Towards Conversational OLAP
University of Bologna
 
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary pathISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
John Holden
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
Philippe Laborie
 
September 11, Deliberative Algorithms II
September 11, Deliberative Algorithms IISeptember 11, Deliberative Algorithms II
September 11, Deliberative Algorithms II
University of Colorado at Boulder
 
September 30, Probabilistic Modeling
September 30, Probabilistic ModelingSeptember 30, Probabilistic Modeling
September 30, Probabilistic Modeling
University of Colorado at Boulder
 
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
scalaconfjp
 
Ds03 part i algorithms by jyoti lakhani
Ds03 part i algorithms   by jyoti lakhaniDs03 part i algorithms   by jyoti lakhani
Ds03 part i algorithms by jyoti lakhani
jyoti_lakhani
 
Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)
Hiroto Honda
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Pooyan Jamshidi
 
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile AppsDeep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile Apps
Davide De Chiara
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar Technology
AdaCore
 
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
Editor IJCATR
 
Gatling
GatlingGatling
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
J On The Beach
 
Using Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization StrategiesUsing Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization Strategies
CS, NcState
 

Similar to ARCS Presentation 2008 (20)

Crude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationCrude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimization
 
Parallel Artificial Bee Colony Algorithm
Parallel Artificial Bee Colony AlgorithmParallel Artificial Bee Colony Algorithm
Parallel Artificial Bee Colony Algorithm
 
Using Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements PrioritizationUsing Interactive Genetic Algorithm for Requirements Prioritization
Using Interactive Genetic Algorithm for Requirements Prioritization
 
[DOLAP2020] Towards Conversational OLAP
[DOLAP2020] Towards Conversational OLAP[DOLAP2020] Towards Conversational OLAP
[DOLAP2020] Towards Conversational OLAP
 
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary pathISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
 
Robot Planing Article Overview
Robot Planing Article OverviewRobot Planing Article Overview
Robot Planing Article Overview
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
September 11, Deliberative Algorithms II
September 11, Deliberative Algorithms IISeptember 11, Deliberative Algorithms II
September 11, Deliberative Algorithms II
 
September 30, Probabilistic Modeling
September 30, Probabilistic ModelingSeptember 30, Probabilistic Modeling
September 30, Probabilistic Modeling
 
IJCSI-2015-12-2-10138 (1) (2)
IJCSI-2015-12-2-10138 (1) (2)IJCSI-2015-12-2-10138 (1) (2)
IJCSI-2015-12-2-10138 (1) (2)
 
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
 
Ds03 part i algorithms by jyoti lakhani
Ds03 part i algorithms   by jyoti lakhaniDs03 part i algorithms   by jyoti lakhani
Ds03 part i algorithms by jyoti lakhani
 
Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
 
Deep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile AppsDeep Parameters Tuning for Android Mobile Apps
Deep Parameters Tuning for Android Mobile Apps
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar Technology
 
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
Presenting a new Ant Colony Optimization Algorithm (ACO) for Efficient Job Sc...
 
Gatling
GatlingGatling
Gatling
 
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
A race of two compilers: GraalVM JIT versus HotSpot JIT C2. Which one offers ...
 
Using Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization StrategiesUsing Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization Strategies
 

ARCS Presentation 2008

  • 1. An Anytime Winner Determination AlgorithmforTime-Extended Multi-Robot Task Allocation Dr. Fang Tang & Spondon Saha Intelligent Robotics Lab California State Polytechnic University Pomona, CA
  • 2. Outline Intelligent Robotics Lab, Cal Poly Pomona Introduction ASyMTRe-D Combinatorial Auctions Simultaneous Task Allocation (STA) Performance Metrics Future Work Conclusion References Q&A 2
  • 3. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D Automated Synthesis of Multi-robot Task solutions through software Reconfiguration. ASyMTRe determines: a coalition of robots. from a heterogeneous group of robots. to carry out a given multi-robot task. 3
  • 4. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D Heterogeneous group of robots??? Robots with different functional capabilities. Multi-robot task??? A task that cannot be carried out by a single robot. Requires a “strongly cooperative” solution. 4
  • 5. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D ASyMTRe Centralized algorithm. Runs on a central server. Aware of the number of robots and their individual capabilities. ASyMTRe-D Distributed ASyMTRe designed using the Contract Net Protocol. Runs locally on each robot. Uses a group negotiation process to determine coalitions. 5
  • 6. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D R1 Task A Idle Robots R5 R2 R4 R3 6
  • 7. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D ASyMTRe-D takes into account: Task-Specific cost. Robot-inherent cost. Determines a suitable mapping between: Task. Robots. 7
  • 8. Intelligent Robotics Lab, Cal Poly Pomona Introduction: ASyMTRe-D Problem: Can handle only one task at a time. Each round results in idle robots. Desired behavior: Need to reduce instances of idle robots. Make idle robots work on other tasks (if any). 8
  • 9. Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions Sequential Auctions. Parallel Auctions. Combinatorial Auctions. 9
  • 10. Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions Auctioneer ??? ??? Item 1 Item 4 Item 3 Item 2 Item 5 [3,5] [1,2] [1,3,5] [1, 4] ,[2,5] 10
  • 11. Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions Complexity: A NP-complete problem. Similar to the Partitioning problem -> NPC. Dynamic Programming: Long execution time. Explores the entire solution space. Scales to only a small number of bids. 11
  • 12. Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions Solution: An Anytime tree algorithm. Explores only the relevant solution space. Polynomial in the number of bids submitted. 12
  • 13. Intelligent Robotics Lab, Cal Poly Pomona Introduction: Combinatorial Auctions Bids: 1 2 3 4 5 1,2 1,3,5 1,4 2,5 3,5 Root 1,2 1,3,5 1,4 1 3,5 3 2 2,5 2 2,5 2 4 4 4 3 3,5 3 3 3,5 3 5 5 4 4 4 5 13
  • 14. Intelligent Robotics Lab, Cal Poly Pomona Quick Review ASyMTRe-D Drawbacks: Accepts tasks sequentially. Order of task execution determine total execution time. Idle robots are waste of resources. Need: A task scheduler. Least robot idle-time -> maximum utilization of resources. Inspiration for STA: Combinatorial Auctions. 14
  • 15. Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) {R3, $5} {R3, $3} {R2,R3, $4} {R2, $1} {R2,R3, $4} {R1,R2, $3} {R1,R2, $4} {R1,R3, $4} Task1 Task2 Task 3 R1 R2 R3 15
  • 16. Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) ` Root 3 4 5 0 R1, R2 R2, R3 R3 6 9 6 5 4 1 3 3 4 0 R3 R1, R2 R2 R1, R2 R2 R3 4 4 5 R2, R3 R1, R3 R1, R3 16
  • 17. Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) Will always return a partial answer if terminated early. Each path is a set of disjoint coalitions -> Partition. All possible partitions of robots are considered. Run time complexity depends on: Number of bids submitted. Number of tasks considered. 17
  • 18. Intelligent Robotics Lab, Cal Poly Pomona Simultaneous Task Allocation (STA) Task B Task C …… Task N Task D Task E Task F Task A STA Algorithm ASyMTRe-D equipped…                         18
  • 19. Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Test Environment: Dell Inspiron 6400. 1.73 GHz Pentium Dual Core Processors. 2 GB of RAM. Python. Objective: To measure the execution time of the algorithm For increasing bids. For increasing task sizes. 19
  • 20. Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Random Distribution: Bids accepted -> 10 - 100 Task Sizes -> 5, 10, 15, 20 Robots -> 10 Maximum allowed coalition size -> 9 Uniform Distribution: Bids accepted -> 10 - 50 Task Sizes -> 5, 10, 15, 20 Robots -> 10 Maximum allowed coalition size -> 3 20
  • 21. Performance (STA) Intelligent Robotics Lab, Cal Poly Pomona Random Distribution 21
  • 22. Performance (STA) Intelligent Robotics Lab, Cal Poly Pomona Uniform Distribution 22
  • 23. Intelligent Robotics Lab, Cal Poly Pomona Performance (STA) Problems: Execution time is exceedingly long. The entire tree is generated irrespective. Need: Faster execution time. Generate only relevant parts of tree. 23
  • 24. Intelligent Robotics Lab, Cal Poly Pomona Future Work (STA) Use heuristics to generate only relevant portions of tree. Iterative Deepening A* (IDA*) Optimize the current version of the algorithm. Demonstrate the complete approach using ASyMTRe-D. 24
  • 25. Intelligent Robotics Lab, Cal Poly Pomona Conclusion (STA) Multiple tasks are being considered. All possible mapping of tasks to coalitions. No restriction on coalition size. Reduced overall execution time. STA (Higher level). ASyMTRe-D (Lower level). An Anytime Algorithm!! 25
  • 26. Intelligent Robotics Lab, Cal Poly Pomona References Sandholm, T. 1999. Algorithm for Optimal Winner Determination in Combinatorial Auctions, International Joint Conference on Artificial Intelligence (July). Stockholm, Sweden, 542-547. Parker, L.E., Tang, F., 2005. ASyMTRe: Automated Synthesis of Multi-Robot Task Solutions through Software Reconfiguration. In Proceedings of IEEE International Conference on Robotics and Automation (April). Tang, F., Parker, L. E. , 2005. Distributed Multi-Robot Coalitions through ASyMTRe-D. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (August). Parker, L.E. and Tang, F., 2006. Building Multirobot Coalitions through Automated Task Solution Synthesis. In Proceedings of the IEEE v. 94 No. 7 (July). 1289-1305. Parker, L.E., Tang, F., 2007. A Complete Methodology for Generating Multi-Robot Task Solutions using ASyMTRe-D and Market-Based Task Allocation. To Appear in the IEEE International Conference on Robotics and Automation (April). Wikipedia. http://www.wikipedia.org/ 26
  • 27. Questions?? 27 Intelligent Robotics Lab, Cal Poly Pomona

Editor's Notes

  1. NOTES:ASyMTRe-D is a distributed resource allocation system for multi-robot environments.ASyMTRe-D is used to:determine a suitable coalition of robots from a heterogeneous group of robotsthat can work together to accomplish a given multi-robot task.A copy of ASyMTRe-D runs as a local copy on each robot. This has been shown to scale better than its centralized counterpart for increasing numbers of robots.Definitions: Heterogeneous Group of Robots – Robots that have different sensor and effector capabilities as opposed to a homogeneous group of robots where each robot in the group has the same set of sensors and effectors.Multi-RobotTasks – Tasks that are not trivially serializable and cannot be decomposed into subtasks that can be completed by individual robots operating independently. These tasks require a “strongly cooperative” solution, meaning it requires the robots to act in concert to achieve the task. This type of task is classified as “tightly-coupled” or “tightly-coordinated”.Sensor – A device used by a robot to perceive and measure various features in its surrounding environment. Some examples of sensors are: Sonar Sensors, Laser sensors, GPS, Cameras, etc.Effector – A device used by the robot that produces or causes a change in the surrounding environment for the means of accomplishing a programmed goal or task. Actuators are also known as effectors and examples of them are: motors, servos, robotic arms, grippers, etc.
  2. NOTES:ASyMTRe-D is a distributed resource allocation system for multi-robot environments.ASyMTRe-D is used to:determine a suitable coalition of robots from a heterogeneous group of robotsthat can work together to accomplish a given multi-robot task.A copy of ASyMTRe-D runs as a local copy on each robot. This has been shown to scale better than its centralized counterpart for increasing numbers of robots.Definitions: Heterogeneous Group of Robots – Robots that have different sensor and effector capabilities as opposed to a homogeneous group of robots where each robot in the group has the same set of sensors and effectors.Multi-RobotTasks – Tasks that are not trivially serializable and cannot be decomposed into subtasks that can be completed by individual robots operating independently. These tasks require a “strongly cooperative” solution, meaning it requires the robots to act in concert to achieve the task. This type of task is classified as “tightly-coupled” or “tightly-coordinated”.Sensor – A device used by a robot to perceive and measure various features in its surrounding environment. Some examples of sensors are: Sonar Sensors, Laser sensors, GPS, Cameras, etc.Effector – A device used by the robot that produces or causes a change in the surrounding environment for the means of accomplishing a programmed goal or task. Actuators are also known as effectors and examples of them are: motors, servos, robotic arms, grippers, etc.
  3. NOTES:R1, R2, R3, R4 and R5 are a heterogeneous group of robots.Each Robot has different sensing and effector capabilities.When a multi-robot Task-A is presented to the group, an instance of ASyMTRe-D on each robot initiates a group negotiation process with the other robots.By taking into account the cost of carrying out Task-A and the contributions available from each robot, ASyMTRe-D determines a suitable coalition/group of robots that can carry out Task A.Once ASyMTRe-D determines a coalition, the selected robots carry out the task.ASyMTRe-D is a distributed resource scheduling system for multi-robot environments.s
  4. NOTES:ASyMTRe-D works by allocating robots to a particular multi-robot task.ASyMTRe-D works by taking into account:the cost of performing the task (task-specific cost).the costs induced by each robot for performing that task (robot-inherent cost).Using these two sets of data, ASyMTRe-D tries to find the right coalition of robots whose collective inherent cost is a perfect match for the task-specific cost.ASyMTRe-D can only handle one task at a time, which means that there are frequent cases where some robots are not allocated into the coalition for carrying out a particular task. This results in “idle robots” which is a waste of resource.
  5. NOTES:“Combinatorial Auctions” are like parallel auctions where all the items are presented at once except bidders are allowed to bid on any combinations of items.Bidders in a combinatorial auction are generally “happy bidders” because they can bid on the set of items that they have their eyes on and still compete fairly with other bidders.The problem arises in the case of the auctioneer who has to determine the winning combination of items because each submitted bid can have overlapping items and so there is no simple method to determine the winner.Definitions:Sequential Auctions – An auction where the items are presented sequentially and bidders place bids as the items are presented.Parallel Auctions – An auction where all the items are presented before bidding ensues and then bidders can bid on individual items.
  6. NOTES:Dynamic Programming is one approach to determine the winners but that can result in exploring the entire solution space, compared to exploring only the relevant solution space. So the execution time can be unnecessarily long, which means that this approach is valid for only a small number of bids.This is a NP-Complete problem which is very similar to the Partitioning Problem (also NP-complete).An appropriate solution is an Anytime Algorithm that explores only the relevant solution space for winner determination. The algorithm is polynomial in the number of bids submitted.Definitions:Anytime Algorithm – Also known as an “interruptible algorithm”, is one that can generate a partial answer even if the algorithm is terminated prior to completion.Partitioning Problem – The partition problem is an NP-complete problem in computer science. The problem is to decide whether a given multi-set of integers can be partitioned into two "halves" that have the same sum.
  7. NOTES:Dynamic Programming is one approach to determine the winners but that can result in exploring the entire solution space, compared to exploring only the relevant solution space. So the execution time can be unnecessarily long, which means that this approach is valid for only a small number of bids.This is a NP-Complete problem which is very similar to the Partitioning Problem (also NP-complete).An appropriate solution is an Anytime Algorithm that explores only the relevant solution space for winner determination. The algorithm is polynomial in the number of bids submitted.Definitions:Anytime Algorithm – Also known as an “interruptible algorithm”, is one that can generate a partial answer even if the algorithm is terminated prior to completion.Partitioning Problem – The partition problem is an NP-complete problem in computer science. The problem is to decide whether a given multi-set of integers can be partitioned into two "halves" that have the same sum.
  8. NOTES:Items are added to the tree starting with the least indexed bid.Each path in the tree is from the root node to the leaf node.Bids that contain items that already have been used in the path are not added.Each path is a collection of disjoint bids.Dummy bids are used so that all possible sets of combination bids are represented in the tree.The winning set of bids are the set of bids on a path that have the highest total bid value.Definitions:Partition of a Set – In mathematics, a partition of a set X is a division of X into non-overlapping “parts” or “blocks” or “cells” that cover all of X. More formally, these “cells” are both collectively exhaustive and mutually exclusive with respect to the set being partitioned.
  9. NOTES:The current working version of ASyMTRe-D is designed to only handle one task at a time.So if there were a batch of tasks to be executed, the order in they get executed will affect the total execution timeThis evokes the need for developing a task-scheduler that can assign the tasks in an efficient manner such that the total execution time of tasks is minimized. This will call for maximum utilization of robots, resulting in minimum robot idle-time.Based on the anytime algorithm for winner determination in combinatorial auctions, an algorithm has been designed that will assign tasks simultaneously to ASyMTRe-D. The goal of the winner determination process is to find the set of coalitions for executing the batch of tasks such that the total contribution from the winner coalitions is maximized and the members in the winning coalitions do not overlap.
  10. NOTES:Suppose 3 tasks (Task1, Task2, Task3) has been presented to a heterogeneous group of robots (R1, R2, R3).Using the approach of Combinatorial auctions, for each task ASyMTRe-D performs a group negotiation process and submits bids to each task. Each bid consists of the coalition of robots and the price of the bid (a dollar amount).In our current setting, the bid value is a weighted combination of both the “robot-inherent” cost (such as sensing and computational cost) and the “task-specific” cost (such as task completion time and success probability). For example, the coalition that can complete a task with a shorter time, higher success probability, and lower cost results in a higher bid value.
  11. NOTES:All submitted bids are first arranged by their respective tasks.For each task, bids are added to the tree in a sequential order.Only those bids are added whose set of Robots form a disjoint set from the remaining bids already assigned on the current path. So this results in each path containing a disjoint set of bids.As bids are added, the total accumulated bid value is stored in each leaf node.An additional dummy bid of bid-value zero is added after each iteration, so that the space of possible sets of coalitions are well represented. This dummy bid is not added for the last iteration.Once the tree has been constructed, the path with the highest accumulated bid value is the winning partition of robots that are allocated to their respective tasks. This is done using depth-first search.In this example, robot coalition {R3} is assigned to “Task1” and coalition {R1,R2} is assigned to “Task2”. No robots could be allocated for “Task3” for the current round and so this task is saved for the next round.
  12. NOTES:Due to the very nature of Anytime algorithms, this solution will always return an answer, even if execution is terminated prior to completion time.So, given enough time, this algorithm will generate the optimal solution.The algorithm also guarantees that each path is a disjoint set of bids, also known as a Partition.All possible partitions of robots are considered instead of restricting the size of a coalition for the sake of improving efficiency.Run time complexity of the algorithm depends on the size of the search space and therefore depends on the number of bids submitted and the number of tasks being considered.Definitions:Partition of a Set – In mathematics, a partition of a set X is a division of X into non-overlapping “parts” or “blocks” or “cells” that cover all of X. More formally, these “cells” are both collectively exhaustive and mutually exclusive with respect to the set being partitioned.
  13. NOTES:Due to the very nature of Anytime algorithms, this solution will always return an answer, even if execution is terminated prior to completion time.So, given enough time, this algorithm will generate the optimal solution.The algorithm also guarantees that each path is a disjoint set of bids, also known as a Partition.All possible partitions of robots are considered instead of restricting the size of a coalition for the sake of improving efficiency.Run time complexity of the algorithm depends on the size of the search space and therefore depends on the number of bids submitted and the number of tasks being considered.Definitions:Partition of a Set – In mathematics, a partition of a set X is a division of X into non-overlapping “parts” or “blocks” or “cells” that cover all of X. More formally, these “cells” are both collectively exhaustive and mutually exclusive with respect to the set being partitioned.
  14. NOTES:Each distribution aims at measuring the execution time of the algorithm against the number of bids submitted.Bids were not generated by ASyMTRe-D and so a input generator was used.We designed these 2 distributions so that we could test the robustness of the algorithm and measure the sparseness of the trees created, by observing their execution time for increasing number of bids.
  15. NOTES:Random Distributions are supposed to create sparser trees because the coalition size should limit the number of successive bids that can be added in a tree. If a bid with a coalition has 9 robots, then there is 1 out of 10 chances that a bid submitted by only 1 robot not repeated on the current path will be added. Therefore, this should result in sparser trees and lesser execution time.The maximum execution time recorded for Random Distribution is 1.23 seconds.
  16. NOTES:Uniform Distributions are the real deal. Due to their small coalition size, the resulting trees are denser because of the small coalition sizes. Hence, this would result in increased execution time, which depends on the number of tasks submitted.The highest reported execution time has been for a task size of 20 with execution time at 7.31 seconds.
  17. NOTES:The current problem with the algorithm is that it uses Depth First Search to calculate the winning partitions. This involves looking at every path and so a better idea of the winning partition is required so that this exploration is minimized.In order to reduce the chances of extended execution time, we need to stress on generating sparser trees and hence require generating only the relevant parts of the tree.
  18. NOTES:Since execution time is directly correlated with the density of the tree, the execution time can be substantially minimized by generating only the relevant parts of the tree that involves the winning partition of robots.Iterative Deepening A* is one such algorithm that has been considered for this approach where a heuristic analysis will hint on generating only the relevant partitions in the tree.This will encourage generating only portions of the tree, thereby reducing execution time.Other work also includes optimizing the current version of the algorithm by conducting a more granular analysis of the algorithm and fix areas that can impede execution time.In the end, we wish to test this in a real-world application using ASyMTRe-D and a group of robots so that tasks can be assigned concurrently to the coalitions of robots.
  19. NOTES:The approach using the STA aims at a more concurrent level of operation, as opposed to the instantaneous approach followed by ASyMTRe-DThis algorithm aims at being the task scheduler for ASyMTRe-D, where the objective is to maximize the use of resources and minimize the total execution time.STA will therefore operate at the higher level while ASyMTRe-D will be operating on the lower level.So when a batch of tasks are presented to STA, it will first call ASyMTRe-D to generate all the possible coalitions using its resource pool of robots. Once the coalitions are generated with an accompanying bid-value signifying their interest in accomplishing a particular task, STA determines the winning partition of robots that are suitable for the current round. All pending tasks and idle robots are then carried over to the next round.The best feature about STA is that it is an Anytime algorithm and hence will always return a sub-optimal solution even if it is terminated prior to completion.