  Robust and persistent localisation is essential for ensuring the safe
operation of autonomous vehicles. When operating in large and diverse urban
driving environments, autonomous vehicles are frequently exposed to situations
that violate the assumptions of algorithms, suffer from the failure of one or
more sensors, or other events that lead to a loss of localisation.
  This paper proposes the use of a behavior tree framework that can monitor the
performance of localisation health metrics and triggers intelligent responses
such as sensor switching and loss recovery. The algorithm presented selects the
best available sensor data at given time and location, and can perform a series
of actions to react to adverse situations. The behavior tree encapsulates the
system-level logic to give commands that make up the intelligent behaviors, so
that the localisation "actuators" (data association, optimisation, filters,
etc) can perform decoupled actions without needing context. Experimental
results to validate the algorithms are presented using the University of Sydney
Campus dataset which was taken weekly over an 18 month period. A video showing
the online localisation process can be found here: https://youtu.be/353uKqXLV5g
