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.
fkie_behavior_tree_manager
interfaces with behavior tree enginefkie_bt_move_base_actions
contains actions for interfacing with Move Base Flexfkie_bt_moveit_actions
contains actions for interfacing with MoveItfkie_bt_visualization
contains RVIZ plugins for BT visualizationfkie_bt_tutorials
contains tutorials for creating new BT actions
Check our Wiki for tutorials and examples.
- 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
- If you want to run a very simple example of Behavior Tree Manager:
roslaunch fkie_behavior_tree_manager behavior_tree.launch
- You can also try a demo using a simulated husky robot and navigation, available in fkie_husky_manipulation_simulation
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.