Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange

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

Package Summary

Version 6.1.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) for ROS 2

Maintainers

  • Miguel Ángel González Santamarta

Authors

No additional authors.
README
No README found. See repository README.
CHANGELOG

Changelog for package yasmin_ros

6.1.0 (2026-07-26)

  • fix(yasmin_ros): handle rclcpp version differences in TransformListener Update the TransformListener instantiation to account for API changes in rclcpp version 33.0.2 and above, ensuring compatibility across different ROS 2 distributions by checking the version macro.

  • test(yasmin_ros): add complex scenario integration tests Add comprehensive integration tests for complex ROS 2 scenarios in both C++ and Python. These tests verify the interaction between state machines and various ROS 2 primitives including actions, services, and topics.

    • Implement [test_complex_scenarios.cpp]{.title-ref} using GTest.
    • Implement [test_complex_scenarios.py]{.title-ref} using unittest.

    - Update [CMakeLists.txt]{.title-ref} to include the new test targets for both C++ and Python test runners.

  • fix(ros): enhance thread safety and state robustness Improve the reliability of ROS-related states by implementing thread-safe access patterns, refining lifecycle management, and expanding QoS caching granularity. Key changes:

    - monitor: introduced [_msg_lock]{.title-ref} to protect [msg_list]{.title-ref} during concurrent access and improved the message retrieval loop.

    - action: updated [cancel_state]{.title-ref} to asynchronously wait for goal cancellation to complete.

    - service: added [CANCEL]{.title-ref} outcome support and improved error handling in service response callbacks to prevent crashes on failed futures.

    • publisher: added explicit check for [is_canceled()]{.title-ref} before publishing.

    - tf_buffer: replaced manual [__del__]{.title-ref} calls with standard reference clearing to allow proper garbage collection.

    - ros_clients_cache: expanded QoS profile hashing to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref}.

    - tests: updated test assertions to account for new log patterns and cleaned up unnecessary includes and redundant cache clearing.

    • build: removed obsolete [src]{.title-ref} include directory from CMake configuration.
  • refactor(ros): modernize logger management and expand QoS hashing Update the ROS logging infrastructure to use smart pointers and thread-safe access patterns, and improve the granularity of QoS profile caching. Key changes:

    - ros_logs: Transition [logger_node]{.title-ref} from a raw pointer to a [std::shared_ptr]{.title-ref} and introduce [logger_node_mutex]{.title-ref} to ensure thread-safe access during logging and node lifecycle changes.

    - ros_clients_cache: Expand [hash_qos_profile]{.title-ref} to include [liveliness_lease_duration]{.title-ref} and [avoid_ros_namespace_conventions]{.title-ref} in the hash calculation for more accurate cache validation.

    - yasmin_node: Update lifecycle management to use [std::shared_ptr::reset()]{.title-ref} when clearing the logger node reference.

  • fix(ros): improve thread safety and timeout logic in ROS states Refactor ROS-related states (Action, Monitor, Service) to enhance reliability and concurrency handling. Key changes:

    - action_state: Implement atomic flags for state tracking, fix condition variable usage with predicates, and replace the retry loop with a single total timeout calculation.

    - monitor_state: Replace [std::vector]{.title-ref} with [std::deque]{.title-ref} for more efficient message queuing and implement cancellation checks during timeouts.

    - service_state: Add [CANCEL]{.title-ref} outcome support, fix timeout logic to use a consolidated duration, and ensure cancellation is checked during the wait period.

    - get_parameters_state: Simplify parameter type retrieval by using the [rclcpp::Parameter]{.title-ref} object directly.

  • Contributors: Miguel Ángel González Santamarta

6.0.0 (2026-07-07)

  • relicense to Apache 2.0 (#122)
  • fix: dereference node pointer for TransformBroadcaster

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin_ros at Robotics Stack Exchange