Files
Main/99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Robotics/Behaviour Trees.md
2024-12-02 15:11:30 +01:00

1.4 KiB

Sources https://www.youtube.com/watch?v=kRp3eA09JkM&ab_channel=HummingbirdRobotics https://github.com/thehummingbird/robotics_demos/blob/main/behavior_trees/grasp_place_robot_demo/bt_demo.cpp

Using BT with ROS2

https://www.youtube.com/watch?v=KO4S0Lsba6I&ab_channel=TheConstruct

!Pasted image 20231005132551.png

!Pasted image 20231005134909.png !Pasted image 20231005135001.png });

!Pasted image 20231005135120.png

Move Robot

!Pasted image 20231005135254.png !Pasted image 20231005135348.png !Pasted image 20231005135419.png

Rotate class !Pasted image 20231005135545.png

main !Pasted image 20231005135626.png

!Pasted image 20231005135643.png

Definitions

  • Sequence: can be considered as a logical AND gate
  • Fallback: can be considered as a logical OR gate

Library Description

Alternatively you can use the python library: https://github.com/splintered-reality/py_trees_ros/tree/devel

Behaviortree Factory

Here the behaviortree logic is stored and managed. Nodes that implement actions or conditions need to be registered here such that they can be executed. The BehaviorTree Factory is the place where the Business Logic is implemented.

BehaviorTree Design

!Pasted image 20231005172207.png