  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: https://youtu.be/ZdEkoOOlB2g}.
