By Vincent Berenz and Stefan Schaal Reactive Programming for Orchestrating Robotic Behavior The Playful Software Platform ©istockphoto.com/dinn F or many service robots, reactivity to changes in their surroundings is a must. However, developing software suitable for dynamic environments is difficult. Existing robotic middleware allows engineers to design behavior graphs by organizing communication between components. But because these graphs are structurally inflexible, they hardly support the development of complex reactive behavior. To address this limitation, we propose Playful, a software platform that applies reactive programming to the specification of robotic behavior. Playful's front end is a scripting language that is simple (only five keywords) yet results in the runtime coordinated activation and deactivation of an arbitrary number of Digital Object Identifier 10.1109/MRA.2018.2803168 Date of publication: 10 May 2018 1070-9932/18©2018IEEE higher-level sensory-motor couplings. When using Playful, developers describe actions on various levels of abstraction via behavior trees. During runtime, an underlying engine applies a mixture of logical constructs to obtain the desired behavior. These constructs include conditional ruling, dynamic prioritization based on resource management, and finite state machines. We have successfully used Playful to program an upper-torso humanoid manipulator to perform lively interaction with any human approaching it. Robotic Behavior Specification High-level behavior specification is the offline setup of information exchange between software components so that a robot autonomously performs a desired behavior online. Existing robotic middleware tackles this by enabling the creation of behavior graphs that arrange communication between components. september 2018 * IEEE ROBOTICS & AUTOMATION MAGAZINE * 49