/fkie_behavior_trees

This repository contains packages for executing behavior trees in ROS.

Primary LanguageC++Apache License 2.0Apache-2.0

FKIE Behavior Trees

This repository contains packages for executing Behavior Trees in ROS. It is powered by BehaviorTree.CPP and supports navigation and manipulation tasks using Move Base Flex and MoveIt. It also provides RVIZ visualization and debugging tools.

packbot_arm_nav

Available Packages

  • fkie_behavior_tree_manager interfaces with behavior tree engine
  • fkie_bt_move_base_actions contains actions for interfacing with Move Base Flex
  • fkie_bt_moveit_actions contains actions for interfacing with MoveIt
  • fkie_bt_visualization contains RVIZ plugins for BT visualization
  • fkie_bt_tutorials contains tutorials for creating new BT actions

Documentation

Check our Wiki for tutorials and examples.

How to Compile

  • Install dependencies:
sudo apt install ros-noetic-behaviortree-cpp-v3 ros-noetic-mbf-msgs  qt5-default ros-noetic-moveit-ros ros-noetic-moveit-visual-tools

If you want to use all packages, you can compile the meta-package fkie_behavior_trees, using catkin tools

cd ros/src
git clone https://github.com/fkie/fkie_behavior_trees
cd fkie_behavior_trees/fkie_behavior_trees/
catkin build --this

Try it out

  • If you want to run a very simple example of Behavior Tree Manager:
roslaunch fkie_behavior_tree_manager behavior_tree.launch

navigation_demo

Authors

License

Copyright 2022 Fraunhofer FKIE

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.