splintered-reality/py_trees

What version to use: Python 3.x, Ubuntu 20.04

pitosalas opened this issue · 10 comments

Which of the versions should I use? I will be using it with ROS1 Noetic but I believe your ROS support is all on ROS2. That's fine. But for Ubuntu 20.04 and Python 3.x, should I use py-trees 1.0 or some other one? Thanks!

It all depends on what your use case on 20.04/python3 is. For ROS related requirements, do look up the py_trees_ros/README.

  • ROS 1 Noetic → py_trees 0.7, py_trees_ros 0.6, rqt_py_trees 0.4, ...
  • ROS 2 Foxy → py_trees 2.1, py_trees_ros 2.1, py_trees_ros_viewer 0.2, ...
  • No ROS → any py_trees >0.7 will do. You might choose 0.7 for compatibility for instance before making a large jump to 2.1.

compatibility

If you had existing code running on 0.6 with python 2, you might not want to make the big jump to 2.1 immediately.

unable to install on Python3.7, Noetic. Any quick tip?

You might be missing some information in your post above - I'm getting blanks before, after the and. How did you try and install? What errors are you seeing?

Pip

  • If you're just doing python-only work, py_trees from pip is a good solution (none of the ros packages are on pip)
  • If you're in a ROS workspace, don't use pip, fetch them all from ROS debs

py_trees_ros e.t. a.l.

There are two reasons you might want to use these.

Ros Behaviours - to be honest, there's not much here and you could recreate your own behaviours using these as inspiration pretty easily. Most noteworthy - generic behaviours for handling subscribers and action clients in useful ways.

Debugging and Visualisation Tools

These are super-useful even if the ROS1 versions of these tools are rather clunky. Easy to use to echo the contents of the blackboard or the tree state. You can also bag the tree state and replay it in the viewer.

Caveat - there was an update in ROS1 not so long ago that thwarted use of ascii color codes in ros topics. I'm not sure if I updated the ROS1 code to handle that. If it's spitting our ascii color code sequences, let me know. That's maybe something worth fixing.

I figured it out. Sorry for the bad question.