Skip to content

jstyrud/planning-and-learning

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Combining planning and learning of behavior trees for robotic assembly

This repository contains an implementation of a Genetic Programming (GP) algorithm that evolves Behavior Trees (BTs) to solve different assembly tasks. The tasks consist in picking LEGO DUPLO bricks and placing them in different configurations. The BTs are executed in the AGX Dynamics environment, but they can also be simulated in a high-level state machine without involving physics. The GP is bootstrapped by a BT created by a planner and partially solving the task (depending on the initial configurations).

Set-up

Put BT_SETTINGS.yaml file(s) with whatever name(s) the scripts use in your ros2 workspace root folder in order for the scripts to find them properly with relative paths.

Build with "colcon build --packages-select behavior_tree_learning --symlink-install"

Code coverage

To run code coverage, in consol run "pytest --cov"

How to run the simulation

To run duplo simulation start an agx environment console and run python agx_<script_name>.py And then in a py trees console run ros2 run behavior_tree_learning <script> where <script> is whatever script listed in setup.py that you want to run

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages