https://youtu.be/ZdEkoOOlB2g}.
This article presents an architecture for multi-agent task allocation and task execution, through the unification of a market-inspired task-auctioning system with Behavior Trees for managing and executing lower level behaviors. We consider the scenario with multi-stage tasks, such as 'pick and place', whose arrival times are not known a priori. In such a scenario, a coordinating architecture is expected to be reactive to newly arrived tasks and the resulting rerouting of agents should be dependent on the stage of completion of their current multi-stage tasks. In the novel architecture proposed in this article, a central auctioning system gathers bids (cost-estimates for completing currently available tasks) from all agents, and solves a combinatorial problem to optimally assign tasks to agents. For every agent, it's participation in the auctioning system and execution of an assigned multi-stage task is managed using behavior trees, which switch among several well-defined behaviors in response to changing scenarios. The auctioning system is run at a fixed rate, allowing for newly added tasks to be incorporated into the auctioning system, which makes the solution reactive and allows for the rerouting of some agents (subject to the states of the behavior trees). We demonstrate that the proposed architecture is especially well-suited for multi-stage tasks, where high costs are incurred when rerouting agents who have completed one or more stages of their current tasks. The scalability analysis of the proposed architecture reveals that it scales well with the number of agents and number of tasks. The proposed framework is experimentally validated in multiple scenarios in a lab environment. A video of a demonstration can be viewed at: