Behavior Trees for ROS2 Course - C++
Learn to use Behavior Trees in ROS2.
Course Summary
Understand the concept of the Behavior Trees framework. Learn how to use the Behavior Trees framework in practice and how to apply them with ROS2.
What you will learn
The course is dedicated to robot enthusiasts and all the others who would like to stay abreast of current robotics development. During the course, you are going to learn about: 1. Behaviour Trees as a new abstraction layer in the software robotics stack. 2. Learn about the mechanisms and design principles of the Behavior Trees framework. 3. You will receive practical skills to use BehaviorTree.CPP framework together with ROS2 (architect the robot behavior). 4. You will learn the advanced mechanisms of BehaviorTree.CPP framework (stochastic behavior) and automated planning.
Course Overview
Introduction to the Course
This unit is an introduction to the Behavior Trees in ROS2 course. You will have a quick preview of the contents to be covered in the course and a practical demo.
Introduction to Behavior Trees
In this unit of the course, you are going to understand the Behavior Tree concept and simplified software architecture which can be accommodated into the ROS2 framework. You are going also to discuss the fundamental mechanisms of BTs.
Design principles of Behavior Trees
This unit will provide you a deep understanding of BT architecture and the mechanisms that allow architecting the logical connections of robot behaviors.
Integration of Behavior Trees with ROS2
In this unit, we are going to dive into the BehaviorTree.CPP library as a framework that allows the integration of Behavior Trees with ROS2.
Stochastic behavior trees and automated planning
This unit introduces the probabilistic behavior of nodes and gives you a general overview of how to incorporate automated planning (architecture changes) into Behavior Trees.
Final Project
Final challenge of the course, that will test everything you've learned during the course.
Teachers
Markus Buchholz
PhD in Robotics and M.Sc in Electronics and Computer Science and M.sc in Economics. His main passion is programming (C++, Python) the Autonomous Systems by use of AI, Deep Learning and Reinforcement Learning.