Behavior Trees in Robotics Online Seminars
Together with Michele Colledanchise I have been arranging a seminar series on the use of behavior trees in robotics. Below you can find links to the seminars and information on the topics and speakers.
Building Reactive Task Plans for Real-World Robot Applications
Speaker: Chris Paxton
Abstract: Robots are increasingly an important part of our world, from working in factories and hospitals to driving on city streets. As robots move into more unstructured environments such as homes, however, we must be able to create complex, reactive task plans that can deal with stochastic actions, unreliable sensors, and that above all are intuitive and easy to build. To this end, we created the Behavior Tree-based CoSTAR system -- which allows novice end users to create task plans for industrial robot task plans, shown in a 35-person user study to be highly user friendly and offer a useful set of tools for creating task plans. Some of this technology was later spun out into a startup -- Ready Robotics. We describe a variant on Behavior Trees which supports symbolic task planning and gives guarantees on performance. Finally, we describe a case study on an example of a reactive household manipulation task. Reactive task plans based on behavior trees allow us to build robust, responsive, and interpretable systems that can perform challenging multi-step tasks alongside humans.
Bio: Chris Paxton is a research scientist at Meta AI, in FAIR Labs. He previously worked at NVIDIA research in their robotics lab. He got his PhD in Computer Science in 2019 from the Johns Hopkins University in Baltimore, Maryland, focusing on using learning to create powerful task and motion planning capabilities for robots operating in human environments. During his PhD, Chris led the team that won the 2016 KUKA Innovation Award with CoSTAR, a project which enabled for end-user instruction of collaborative robots. His goal is to tie together language, perception, and action, in order to make robots into robust, versatile assistants that can work alongside humans for a variety of applications. Recently, his work won the ICRA 2021 best human-robot interaction paper award, and was nominated for best systems paper at CoRL 2021.
Behavior Trees.CPP 4.0
Speaker: Davide Faconti, PickNik Robotics
Abstract: we will present the new major version (4.0) of BehaviorTree. This new implementation expands the semantics of behavior trees with a scripting language on top of the existing XML format that helps developers express their intent more quickly and concisely. Additionally, using the concept of pre and post conditions, we can make trees more compact and readable.
Bio: Davide Faconti worked in robotics for almost 20 years, exploring multiple domains such as biped locomotion, humanoid robots, perception, manipulation, navigation and system architecture. In the ROS community, he is known to be an active open-source contributor. Since 2018, he has been the primary maintainer of BehaviorTree.CPP.
Behavior Trees for Home Service Robotics Tasks
Sebastian Castro, PickNik Robotics
Link to youtube
We are still a long way from having general-purpose robots in our homes, but this vision aims to improve our quality of life, especially for persons with disabilities or looking to age in place.
The overarching technical challenge in this area is the interface between a human's intent -- for example, as an explicit command or desired outcome specified in natural language -- and how an autonomous agent must act in the real world to satisfy that intent. This requires modern robots to be equipped with fundamental behaviors including natural language processing, perception, navigation, and manipulation. Additionally, robots require a planning framework that can convert a user-specified goal to a carefully synthesized ordering and parameterization of these behaviors that can be executed to achieve that goal.
In this talk, we will introduce a system architecture implemented on a Toyota Human Support Robot (HSR) to perform complex household tasks. Specifically, we will focus on integrated Task and Motion Planning (TAMP) to convert goal specifications to high-level plans, and the use of Behavior Trees to manage the execution of those plans in the real world.
Sebastian Castro is a Senior Robotics Engineer at PickNik Robotics. In the past, Sebastian has developed behaviors and supported field tests for autonomous truck unloading with the Boston Dynamics Stretch robot. He has developed a home service robotics software framework at MIT CSAIL while providing Python and ROS expertise to various projects in robot learning, task and motion planning, and field robotics. Sebastian has been the technical lead for MathWorks' sponsorship of the RoboCup competitions, where he developed educational content around MATLAB and Simulink for robotics. Sebastian holds a B.S. and M.S. in Mechanical Engineering from Cornell University, where he researched control of modular robots from high-level task specifications in structured English and Linear Temporal Logic (LTL). Sebastian runs a personal blog (roboticseabass.com) where he shares his expertise in task and motion planning, autonomous behavior, systems, and software development with the goal of making knowledge accessible to all.
What does it mean to be modular?
Oliver Biggar, Australian National University, Australia
Link to youtube
In this talk we discuss two important but seemingly unrelated questions about Behavior Trees. The first: which behavior designs can be implemented as a Behavior Tree? The second: why are Behavior Trees “modular”? We find that investigating the latter question leads to a solution to the former. That is, in formalising the intuitive notion of modularity in action-selection mechanisms such as Behavior Trees we obtain both a deeper understanding of how to decompose behavior and a characterisation of the behaviour designs implementable as a Behavior tree. Behavior Tree decision-making is characterised by a ‘modular decomposition’ operation in the space of reactive architectures, inspired by analogous concepts from graph theory and structured programming. Along the way we discuss decision structures, a general setting for reactive decision-making, a complexity measure designed to quantify the lack of modularity in a system, and the application of modularity to formal verification.
Oliver Biggar is a researcher with CIICADA Lab at the Australian National University. He received a B.Sc. degree in Mathematics and Statistics from the University of Melbourne in 2019 and a B.Sc (Honours) degree in Computer Science from the Australian National University in 2022. His research focuses on graph-theoretic methods in algorithmic game theory and AI.
The use of Behavior Trees in PlanSys2
Francisco Martin Rico, Associate Professor, Rey Juan Carlos University, Spain
Link to youtube
Planning is a powerful approach a robot can use to create behaviors to achieve its tasks. Planning languages, such as PDDL, do not solve the aspect of the execution of the plans, being necessary planning frameworks that store the knowledge of the robot, create plans, and carry them out.PlanSys2 is one of these frameworks, inspired by the successful ROSPlan, but improving it and making it work on ROS2.PlanSys2 makes heavy use of Behavior Trees in two dimensions: 1) Encoding plans as Behavior Trees, ready to be executed, and 2) giving the option to encode the actions of a plan as Behavior Trees.In this talk, we will introduce the basic concepts of PlanSys2 and show how PlanSys2 approaches the use of Behavior Trees in both dimensions.
Bio:Francisco Martín is an associate professor at the Rey Juan Carlos University in Madrid, where he leads the Intelligent Robotics Lab, a reference group in ROS / ROS2 in Europe, participating and advising in ROS/ROS2 technology in European and national projects. He works in several research areas in Robotics like Navigation, 3D Perception, Deep Learning, AI Planning, and Cognitive architectures contributing to some core packages in ROS / ROS2 (rclcpp, BehaviorTrees, darknet_ros, ..), and authoring ROS2 Planning System (PlanSys2) an rclcpp_cascade_lifecycle, among others. He is also one of the main contributors to Nav2, the new navigation software for ROS2, currently being used in commercial robots and by companies building robotics systems, and aims to be one of the most used software for navigation, as move_base was for ROS1.