|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted yasmin yasmin_demos yasmin_msgs yasmin_ros yasmin_viewer |
Repository Summary
| Description | YASMIN (Yet Another State MachINe) |
| Checkout URI | https://github.com/uleroboticsgroup/yasmin.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | python state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| yasmin | 3.5.1 |
| yasmin_demos | 3.5.1 |
| yasmin_msgs | 3.5.1 |
| yasmin_ros | 3.5.1 |
| yasmin_viewer | 3.5.1 |
README
YASMIN (Yet Another State MachINe)
YASMIN is a project focused on implementing robot behaviors using Finite State Machines (FSM). It is available for ROS 2, Python and C++.
Table of Contents
Key Features
- ROS 2 Integration: Integrates with ROS 2 for easy deployment and interaction.
- Support for Python and C++: Available for both Python and C++, making it flexible for a variety of use cases.
- Rapid Prototyping: Designed for fast prototyping, allowing quick iteration of state machine behaviors.
- Predefined States: Includes states for interacting with ROS 2 action clients, service clients, and topics.
- Data Sharing with Blackboards: Utilizes blackboards for data sharing between states and state machines.
- State Management: Supports cancellation and stopping of state machines, including halting the current executing state.
- Web Viewer: Features an integrated web viewer for real-time monitoring of state machine execution.
Installation
Debian Packages
To install YASMIN and its packages, use the following command:
sudo apt install ros-$ROS_DISTRO-yasmin ros-$ROS_DISTRO-yasmin-*
Building from Source
Follow these steps to build the source code from this repository:
cd ~/ros2_ws/src
git clone https://github.com/uleroboticsgroup/yasmin.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
cd ~/ros2_ws
colcon build
Then, you can run the tests as follow:
colcon test --packages-select yasmin yasmin_ros
colcon test-result --verbose
To see the coverage report you have to run the tests with pytest directly:
python3 -m pytest ~/ros2_ws/src/yasmin/yasmin/test ~/ros2_ws/src/yasmin/yasmin_ros/test --cov=yasmin --cov=yasmin_ros --cov-report=html --cov-report=term-missing
Docker
If your operating system doesn’t support ROS 2, docker is a great alternative. You can use an image from Dockerhub or create your own images. First of all, to build the image you have to use the following command:
## Assuming you are in the YASMIN project directory
docker build -t yasmin .
File truncated at 100 lines see the full file
CONTRIBUTING
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted yasmin yasmin_demos yasmin_msgs yasmin_ros yasmin_viewer |
Repository Summary
| Description | YASMIN (Yet Another State MachINe) |
| Checkout URI | https://github.com/uleroboticsgroup/yasmin.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | python state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| yasmin | 3.5.1 |
| yasmin_demos | 3.5.1 |
| yasmin_msgs | 3.5.1 |
| yasmin_ros | 3.5.1 |
| yasmin_viewer | 3.5.1 |
README
YASMIN (Yet Another State MachINe)
YASMIN is a project focused on implementing robot behaviors using Finite State Machines (FSM). It is available for ROS 2, Python and C++.
Table of Contents
Key Features
- ROS 2 Integration: Integrates with ROS 2 for easy deployment and interaction.
- Support for Python and C++: Available for both Python and C++, making it flexible for a variety of use cases.
- Rapid Prototyping: Designed for fast prototyping, allowing quick iteration of state machine behaviors.
- Predefined States: Includes states for interacting with ROS 2 action clients, service clients, and topics.
- Data Sharing with Blackboards: Utilizes blackboards for data sharing between states and state machines.
- State Management: Supports cancellation and stopping of state machines, including halting the current executing state.
- Web Viewer: Features an integrated web viewer for real-time monitoring of state machine execution.
Installation
Debian Packages
To install YASMIN and its packages, use the following command:
sudo apt install ros-$ROS_DISTRO-yasmin ros-$ROS_DISTRO-yasmin-*
Building from Source
Follow these steps to build the source code from this repository:
cd ~/ros2_ws/src
git clone https://github.com/uleroboticsgroup/yasmin.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
cd ~/ros2_ws
colcon build
Then, you can run the tests as follow:
colcon test --packages-select yasmin yasmin_ros
colcon test-result --verbose
To see the coverage report you have to run the tests with pytest directly:
python3 -m pytest ~/ros2_ws/src/yasmin/yasmin/test ~/ros2_ws/src/yasmin/yasmin_ros/test --cov=yasmin --cov=yasmin_ros --cov-report=html --cov-report=term-missing
Docker
If your operating system doesn’t support ROS 2, docker is a great alternative. You can use an image from Dockerhub or create your own images. First of all, to build the image you have to use the following command:
## Assuming you are in the YASMIN project directory
docker build -t yasmin .
File truncated at 100 lines see the full file
CONTRIBUTING
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted yasmin yasmin_demos yasmin_msgs yasmin_ros yasmin_viewer |
Repository Summary
| Description | YASMIN (Yet Another State MachINe) |
| Checkout URI | https://github.com/uleroboticsgroup/yasmin.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | python state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| yasmin | 3.5.1 |
| yasmin_demos | 3.5.1 |
| yasmin_msgs | 3.5.1 |
| yasmin_ros | 3.5.1 |
| yasmin_viewer | 3.5.1 |
README
YASMIN (Yet Another State MachINe)
YASMIN is a project focused on implementing robot behaviors using Finite State Machines (FSM). It is available for ROS 2, Python and C++.
Table of Contents
Key Features
- ROS 2 Integration: Integrates with ROS 2 for easy deployment and interaction.
- Support for Python and C++: Available for both Python and C++, making it flexible for a variety of use cases.
- Rapid Prototyping: Designed for fast prototyping, allowing quick iteration of state machine behaviors.
- Predefined States: Includes states for interacting with ROS 2 action clients, service clients, and topics.
- Data Sharing with Blackboards: Utilizes blackboards for data sharing between states and state machines.
- State Management: Supports cancellation and stopping of state machines, including halting the current executing state.
- Web Viewer: Features an integrated web viewer for real-time monitoring of state machine execution.
Installation
Debian Packages
To install YASMIN and its packages, use the following command:
sudo apt install ros-$ROS_DISTRO-yasmin ros-$ROS_DISTRO-yasmin-*
Building from Source
Follow these steps to build the source code from this repository:
cd ~/ros2_ws/src
git clone https://github.com/uleroboticsgroup/yasmin.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
cd ~/ros2_ws
colcon build
Then, you can run the tests as follow:
colcon test --packages-select yasmin yasmin_ros
colcon test-result --verbose
To see the coverage report you have to run the tests with pytest directly:
python3 -m pytest ~/ros2_ws/src/yasmin/yasmin/test ~/ros2_ws/src/yasmin/yasmin_ros/test --cov=yasmin --cov=yasmin_ros --cov-report=html --cov-report=term-missing
Docker
If your operating system doesn’t support ROS 2, docker is a great alternative. You can use an image from Dockerhub or create your own images. First of all, to build the image you have to use the following command:
## Assuming you are in the YASMIN project directory
docker build -t yasmin .
File truncated at 100 lines see the full file
CONTRIBUTING
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted yasmin yasmin_demos yasmin_msgs yasmin_ros yasmin_viewer |
Repository Summary
| Description | YASMIN (Yet Another State MachINe) |
| Checkout URI | https://github.com/uleroboticsgroup/yasmin.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-10-23 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | python state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| yasmin | 3.5.1 |
| yasmin_demos | 3.5.1 |
| yasmin_msgs | 3.5.1 |
| yasmin_ros | 3.5.1 |
| yasmin_viewer | 3.5.1 |
README
YASMIN (Yet Another State MachINe)
YASMIN is a project focused on implementing robot behaviors using Finite State Machines (FSM). It is available for ROS 2, Python and C++.
Table of Contents
Key Features
- ROS 2 Integration: Integrates with ROS 2 for easy deployment and interaction.
- Support for Python and C++: Available for both Python and C++, making it flexible for a variety of use cases.
- Rapid Prototyping: Designed for fast prototyping, allowing quick iteration of state machine behaviors.
- Predefined States: Includes states for interacting with ROS 2 action clients, service clients, and topics.
- Data Sharing with Blackboards: Utilizes blackboards for data sharing between states and state machines.
- State Management: Supports cancellation and stopping of state machines, including halting the current executing state.
- Web Viewer: Features an integrated web viewer for real-time monitoring of state machine execution.
Installation
Debian Packages
To install YASMIN and its packages, use the following command:
sudo apt install ros-$ROS_DISTRO-yasmin ros-$ROS_DISTRO-yasmin-*
Building from Source
Follow these steps to build the source code from this repository:
cd ~/ros2_ws/src
git clone https://github.com/uleroboticsgroup/yasmin.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
cd ~/ros2_ws
colcon build
Then, you can run the tests as follow:
colcon test --packages-select yasmin yasmin_ros
colcon test-result --verbose
To see the coverage report you have to run the tests with pytest directly:
python3 -m pytest ~/ros2_ws/src/yasmin/yasmin/test ~/ros2_ws/src/yasmin/yasmin_ros/test --cov=yasmin --cov=yasmin_ros --cov-report=html --cov-report=term-missing
Docker
If your operating system doesn’t support ROS 2, docker is a great alternative. You can use an image from Dockerhub or create your own images. First of all, to build the image you have to use the following command:
## Assuming you are in the YASMIN project directory
docker build -t yasmin .
File truncated at 100 lines see the full file
CONTRIBUTING
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |
|
yasmin repositorypython state-machine cpp ros2 ros2-foxy ros2-galactic ros2-rolling ros2-humble ros2-iron ros2-jazzy ros2-kilted |