No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
kilted

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version kilted
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
rolling

Package Summary

Version 0.0.6
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version main
Last Updated 2026-03-19
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

ROS 2 Snapshot provides Python-based ROS 2 tools for capturing:

  • a specification model of the ROS 2 packages available in a workspace
  • a deployment model of a currently running ROS system

The captured model can be loaded, manipulated, and exported for documentation, interface control documentation (ICD), and model-based engineering workflows.

This repository includes the following modules:

  • core - ROS entity metamodel classes and tools for marshalling and unmarshalling model instances
  • workspace_modeler - captures a specification model of an existing ROS 2 workspace
  • snapshot - captures a model of a currently running ROS 2 deployment

Requirements

This version of the package has been tested under ROS Jazzy, Kilted, and Rolling running Ubuntu 24.04.

Before using ros2_snapshot, make sure:

  • ROS 2 is installed and your environment has been sourced
  • the runtime ROS 2 CLI dependencies from package.xml are available
  • Python dependencies from requirements.txt are installed

Install the Python dependencies with:

pip install -r requirements.txt

Note: the apt Python module is optional and is only used on Debian/Ubuntu systems to enrich workspace package version detection. On non-Debian platforms such as RHEL, workspace_modeler will still run without it.

Source Build

Clone this project into your colcon workspace, then build and source it:

colcon build
source <ros_ws_location>/setup.bash

After that, the package is available through ros2 run ros2_snapshot ....

Quick Start

ros2_snapshot is typically used in two steps:

  1. Generate a specification model of the workspace.
  2. Snapshot the currently running ROS deployment using that specification model.

Generate the workspace model first:

ros2 run ros2_snapshot workspace

Then snapshot a running system:

ros2 run ros2_snapshot running

The running command expects an existing specification model. By default it loads that model from ~/.snapshot_modeling/yaml, so the workspace step should normally be run first. If your specification files live elsewhere, use --spec-input to point running at the correct folder.

By default, both tools write yaml and pickle outputs under ~/.snapshot_modeling. Use -a to also save json, human-readable text, and the DOT graph output for the running snapshot.

For command-line details, use -h or see the module READMEs:

Basic Demonstration

First generate the workspace specification model:

ros2 run ros2_snapshot workspace -a

Inspect the generated files under ~/.snapshot_modeling.

Then start a few ROS nodes:

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.6 (2026-03-19)

  • Update live test for build farm
  • Make workspace package versioning portable

0.0.5 (2026-03-19)

  • Restore multi-distro snapshot compatibility
  • Tighten and expand ros2_snapshot test coverage
  • Preserve ROS type ambiguities explicitly
  • Guard workspace modeler against symlink cycles
  • Harden snapshot and model handling
  • move to ros2_snapshot folder for distribution

0.0.4 (2026-03-06)

  • update dependencies for buildfarm

0.0.3 (2026-02-21)

  • Use rclpy.endpoint_info instead of rclpy.topic_endpoint_info in rolling

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Package symbol

ros2_snapshot package from ros2_snapshot repo

ros2_snapshot

ROS Distro
jazzy

Package Summary

Version 0.0.3
License Apache-2.0
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cnurobotics/ros2_snapshot.git
VCS Type git
VCS Version jazzy
Last Updated 2026-03-17
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS2 Snapshot - contains workspace modeler and snapshot tools

Maintainers

  • CNU Robotics CHRISLab

Authors

  • Andrew Farney

ROS 2 Snapshot Tools

Description

Within this repository are Python-based ROS 2 tools that can be used to capture a software model of a ROS 2 Workspace and running ROS deployment.

The captured model can be loaded, manipulated, and exported for documentation or use in so-called Model Integrated Computing (MIC) or Model Driven Engineering (MDE).

This repository includes the following modules:

  • core - ROS Entity metamodel classes and tools for marshalling/unmarshalling instances of these metamodels (model)
  • workspace_modeler - a tool to capture specification model of existing ROS workspace
  • snapshot - a tool to capture models from currently running ROS deployments

The system is useful for Interface Control Documentation (ICD) of deployed systems.

Initial Setup

The Python 3 executables require graphviz, pydantic, pytest, and PyYAML packages. Use

pip install -r requirements.txt

Source Build

Clone this project into your Colcon Workspace, and run the following commands:

  • colcon build
  • source <ros_ws_location>/setup.bash (your .bashrc may handle this automatically on shell restart)

Thereafter, ros2_snapshot is available for use.

To capture a model of the ROS 2 workspace, including installed and custom packages, as configured on your machine:

ros2 run ros2_snapshot workspace

To capture a model of currently running system:

ros2 run ros2_snapshot running

By default, the snapshot tools save information in yaml and pickle formats in the default ~/.snapshot_modeling folder. Additionally, json and human readable basic text formats, along with a graphviz based DOT view of the ROS computation graph, are available as options.

Use the -a option to save all available formats.

See the READMEs in each module for more information, or -h to see options.

Basic Demonstration

To see a basic demonstration, first run the workspace modeler

clear; ros2 run ros2_snapshot workspace -a

And inspect the specification files in the default ~/.snapshot_modeling folder.

Then, run some ROS nodes

clear; ros2 run turtlesim turtlesim_node --ros-args -r __ns:=/demo

clear; ros2 run turtlesim turtle_teleop_key --ros-args -r __ns:=/demo

clear; ros2 run demo_nodes_py talker

clear; ros2 run demo_nodes_py listener

And run the snapshot tool

clear; ros2 run ros2_snapshot running -a

Again inspect the data bank files in the default ~/.snapshot_modeling folder.

Known issues

This project is an ongoing development effort and may be subject to future changes.

This package has been tested under ROS Jazzy and Kilted running Ubuntu 24.04

See the individual module READMEs for additional information.

License Information

Released under Apache 2.0 license

Copyright (c) 2026 Capable Humanitarian Robotics and Intelligent Systems Lab (CHRISLab) Christopher Newport University

All rights reserved.

See LICENSE for more information.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for ros2_snapshot

0.0.3 (2026-03-06)

  • update dependencies for buildfarm

0.0.2 (2026-02-21)

  • fix package.xml

0.0.1 (2026-01-29)

  • Original release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros2_snapshot at Robotics Stack Exchange