Skip to content

Repository files navigation

imetro_behavior

Python based robotics behavior stack for iMETRO.

Getting Started

This repo uses Pixi to manage the environment, but can be brought into other projects as a regular set of ROS packages.

To get started,

  1. Install Pixi: https://pixi.prefix.dev/latest/installation/

  2. pixi run build

Then, you can open up a pixi shell and do all your development and testing there!

Running the Core

Once you have your workspace built, you can run the 2 main applications.

ros2 run imetro_behavior run_behavior.py

ros2 run imetro_behavior behavior_gui.py

Or launch them both together!

ros2 launch imetro_behavior run_behavior.launch.xml gui:=true

One your behavior tree executor is up and running, you can send it an action goal. For example,

ros2 action send_goal /execute_behavior imetro_behavior_msgs/action/ExecuteBehavior '{tree_file_name: nav_tree}'

Developing

We use pre-commit inside the pixi configuration in this repo.

Rather than running pre-commit yourself, run it as a pixi task as follows.

pixi run lint

You should also run your tests locally before submitting a pull request.

pixi run test

Documentation

Information on supported behaviors is available in GitHub Pages.

To build the docs locally, use the pixi action:

pixi run -e docs build-docs

Which will drop the compiled pydocs pages into docs/.

About

Python based robotics behavior stack for iMETRO

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages