py_trees_ros_viewer package from py_trees_ros_viewer repo

py_trees_ros_viewer

Package Summary

Tags No category tags.
Version 0.2.3
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/splintered-reality/py_trees_ros_viewer.git
VCS Type git
VCS Version devel
Last Updated 2020-03-15
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A Qt-JS application for visualisation of executing/log-replayed behaviour trees in a ROS2 ecosystem.

Additional Links

Maintainers

  • Daniel Stonier

Authors

  • Daniel Stonier

PyTrees Ros Viewer

[About] [Features] [Quickstart] [Usage] [Modding]

About

A Qt-JS application for visualisation of behaviour trees in a ROS2 ecosystem. This implementation serves as the gui visualisation tool for ROS2 PyTrees.

Features

  • Tree Visualisation
  • Collapsible Subtrees
  • Zoom and Scale Contents to Fit
  • Timeline Rewind & Resume
  • Blackboard View
  • Activity View

Quickstart

sudo apt install ros-<rosdistro>-py-trees-ros-tutorials
sudo apt install ros-<rosdistro>-py-trees-ros-viewer

# In a first shell
py-trees-tree-viewer
# In a second shell
ros2 launch py_trees_ros_tutorials tutorial_eight_dynamic_application_laoding_launch.py
# Click 'Scan' on the qt robot dashboard interface
# Wear a colander, I am too.

Usage

Until a snapshot stream is discovered or selected, you'll land at the splash screen which enumerates the interactive options available.

Splash

The viewer will continuously scan for and update the namespace drop-down with a list of py_tree instances (specifically, the namespace of their snapshot stream services). If not yet connected, it will provide the convenience of automatically making a connection to the first instance it discovers. Beyond that, it is possible to switch between streaming services via the drop-down.

Select

At a minimum, the stream will send updates to the tree graph when the tree changes (i.e. when any one of the behaviours modifies it's status). Additional configuration of the stream can be managed via the checkboxes in the top right of the window - introspect on the blackboard and/or request more frequent updates (useful when tracking blackboard changes).

Reconfigure

If you have a large tree, collapse sections of it. This is useful in tandem with the screenshot capability when you wish to highlight an area of interest to communicate a design problem or report a bug.

Collapsible Subtrees

In the same vein, filter the blackboard to those keys expicitly associated (used) by manually selected behaviours.

Track Data

Problems debugging a catastrophe and the final state of the tree doesn't uncover the root cause, merely the mayhem that resulted? This is a very common situation - use the timeline! Rewind to a previous state and time travel. Note: the stream configuration only applies to future messages - you can't change the past! If you are concerned about being able to debug affectively, make sure you have at least the 'Blackboard Data' and 'Periodic' checkboxes enabled so that time travelling along the timeline has sufficient data for analysis.

Rewind

Travelling along the timeline is possible even while online. Simply hit the 'Resume' button to resume visualisation of the live feed.

Resume

Modding

The underlying py_trees_js library lends itself to being used in various ways. This application can be used as a baseline reference (since it utilises the underlying py_trees_js library fully) for modifications to suit your own use case. Open an issue if you have questions and/or would like assistance.

1) Visualisation for a behaviour trees implementation that is not py_trees.

Replicate the hybrid qt-js application here and replace backend.py. The data structure eventually passed to the js library is a json dictionary that only makes use of the most fundamental properties of behaviour trees (e.g. tree graph structure, behaviour status) and consequently, it should be a matter of merely wiring connections and converting data.

2) Visualisation for a different middleware architecture

This follows much the same procedure as for the first use case - replace backend.py. For example, a ROS1 viewer for py_trees could be built in this manner.

3) Visualisation in a mobile device

Since the core of the application is a js library, the bridge to moving from a developer friendly application to a lightweight web application, or a widget embedded in another web application is much smaller. Again it is merely a matter of generating the required input channel and data conversions. Refer to the py_trees_js README for more details.

CHANGELOG

Changelog

Forthcoming

  • ...

0.2.3 (2020-02-24)

  • [backend] capture paralell policy details

0.2.2 (2019-12-30)

  • [docs] using ros2 launch, not ros2 run for the tutorials

0.2.1 (2019-12-28)

  • [docs] usage instructions

0.2.0 (2019-12-28)

  • [backend] feed the viewer blackboard access data, #27
  • [all] machinery for activity streams, #28

0.1.4 (2019-10-26)

  • [infra] update to make use of usability / performance improvements in py_trees_js v0.5.1

0.1.3 (2019-08-29)

  • [html] disable scrollbars, #24
  • [html] use new 0.5.0 window resizing api from py_trees_js

0.1.2 (2019-08-14)

  • [backend] bugfix dependency on py_trees_js, not py_trees_ros_js

0.1.1 (2019-08-13)

  • [backend] bugfix colour mixup between decorators and behaviours

0.1.0 (2019-08-13)

0.0.0 (2019-08-09)

  • Initial package structure

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged py_trees_ros_viewer at answers.ros.org

py_trees_ros_viewer package from py_trees_ros_viewer repo

py_trees_ros_viewer

Package Summary

Tags No category tags.
Version 0.1.4
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/splintered-reality/py_trees_ros_viewer.git
VCS Type git
VCS Version release/0.1.x
Last Updated 2019-10-29
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A Qt-JS application for visualisation of executing/log-replayed behaviour trees in a ROS2 ecosystem.

Additional Links

Maintainers

  • Daniel Stonier

Authors

  • Daniel Stonier

PyTrees Ros Viewer

A Qt-JS application for visualisation of executing/log-replayed behaviour trees in a ROS2 ecosystem.

  • Render Behaviour Tree Streams
  • Collapsible Subtrees
  • Zoom and Scale Contents to Fit
  • Timeline Rewind & Resume

Quickstart instructions:

# Only released in rosdistro's dashing and later
sudo apt install ros-<rosdistro>-py-trees-ros-tutorials
sudo apt install ros-<rosdistro>-py-trees-ros-viewer

# In a first shell
py-trees-tree-viewer
# In a second shell
ros2 run py_trees_ros_tutorials tutorial-eight-dynamic-application-loading

Example Video

CHANGELOG

Changelog

Forthcoming

0.1.4 (2019-10-26)

  • [infra] update to make use of usability / performance improvements in py_trees_js v0.5.1

0.1.3 (2019-08-29)

  • [html] disable scrollbars, #24
  • [html] use new 0.5.0 window resizing api from py_trees_js

0.1.2 (2019-08-14)

  • [backend] bugfix dependency on py_trees_js, not py_trees_ros_js

0.1.1 (2019-08-13)

  • [backend] bugfix colour mixup between decorators and behaviours

0.1.0 (2019-08-13)

0.0.0 (2019-08-09)

  • Initial package structure

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged py_trees_ros_viewer at answers.ros.org

py_trees_ros_viewer package from py_trees_ros_viewer repo

py_trees_ros_viewer

Package Summary

Tags No category tags.
Version 0.1.4
License BSD
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/splintered-reality/py_trees_ros_viewer.git
VCS Type git
VCS Version release/0.1.x
Last Updated 2019-10-29
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A Qt-JS application for visualisation of executing/log-replayed behaviour trees in a ROS2 ecosystem.

Additional Links

Maintainers

  • Daniel Stonier

Authors

  • Daniel Stonier

PyTrees Ros Viewer

A Qt-JS application for visualisation of executing/log-replayed behaviour trees in a ROS2 ecosystem.

  • Render Behaviour Tree Streams
  • Collapsible Subtrees
  • Zoom and Scale Contents to Fit
  • Timeline Rewind & Resume

Quickstart instructions:

# Only released in rosdistro's dashing and later
sudo apt install ros-<rosdistro>-py-trees-ros-tutorials
sudo apt install ros-<rosdistro>-py-trees-ros-viewer

# In a first shell
py-trees-tree-viewer
# In a second shell
ros2 run py_trees_ros_tutorials tutorial-eight-dynamic-application-loading

Example Video

CHANGELOG

Changelog

Forthcoming

0.1.4 (2019-10-26)

  • [infra] update to make use of usability / performance improvements in py_trees_js v0.5.1

0.1.3 (2019-08-29)

  • [html] disable scrollbars, #24
  • [html] use new 0.5.0 window resizing api from py_trees_js

0.1.2 (2019-08-14)

  • [backend] bugfix dependency on py_trees_js, not py_trees_ros_js

0.1.1 (2019-08-13)

  • [backend] bugfix colour mixup between decorators and behaviours

0.1.0 (2019-08-13)

0.0.0 (2019-08-09)

  • Initial package structure

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged py_trees_ros_viewer at answers.ros.org