Improving the performance of Learned Controllers in Behavior Trees using Value Function Estimates at Switching Boundaries
Mart Kartasev, Petter Ögren
TL;DR
This work tackles suboptimal global performance that can arise when composing learned sub-controllers in behavior trees with fixed switching boundaries. It introduces a boundary-value approach where the value function of the downstream controller is used as a final reward for the upstream controller, formalized through restricted MDPs $P_\beta$ and $P_\alpha$ with absorbing boundary states and boundary rewards $v_+(s')$, proving that the original problem’s optimal value $v_0^*$ is recovered on each region and that the overall policy is globally optimal under reasonable assumptions. The method supports mixtures of RL and manually designed controllers and extends recursively to many operating regions, backed by theoretical lemmas and a numerical demonstration. Practically, this approach enables more reliable, modular behavior trees in robotics by ensuring that local optimizations align with global objectives without requiring full redesign of all sub-policies.
Abstract
Behavior trees represent a modular way to create an overall controller from a set of sub-controllers solving different sub-problems. These sub-controllers can be created in different ways, such as classical model based control or reinforcement learning (RL). If each sub-controller satisfies the preconditions of the next sub-controller, the overall controller will achieve the overall goal. However, even if all sub-controllers are locally optimal in achieving the preconditions of the next, with respect to some performance metric such as completion time, the overall controller might be far from optimal with respect to the same performance metric. In this paper we show how the performance of the overall controller can be improved if we use approximations of value functions to inform the design of a sub-controller of the needs of the next one. We also show how, under certain assumptions, this leads to a globally optimal controller when the process is executed on all sub-controllers. Finally, this result also holds when some of the sub-controllers are already given, i.e., if we are constrained to use some existing sub-controllers the overall controller will be globally optimal given this constraint.
