Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

Package Summary

Version 2.4.2
License GPL-3
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/project-deepblue-juggling/jugglebot.git
VCS Type git
VCS Version main
Last Updated 2026-02-16
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged yasmin at Robotics Stack Exchange

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

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

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

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

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

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange

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

Package Summary

Version 5.0.0
License GPL-3.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

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

Package Description

YASMIN (Yet Another State MachINe) main package

Maintainers

  • Miguel Ángel González Santamarta

Authors

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

Changelog for package yasmin

5.0.0 (2026-01-14)

  • Fix state machine cancel propagation and add hard cancel API (#105)

    • Fix state machine cancel propagation and add hard cancel API
    • Update editor to use direct state-machine cancel API
    • formatter
    • dont cancel state machine in cancel_state

    * use new cancel_state_machine API in sigint_handler ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Refactor blackboard storage to isolate remappings in concurrent execution (#101) Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • refactor: reorganize include directives and refine code structure across packages Reorganize include statements by grouping system and third-party headers at the top with angle brackets, relocate project headers appropriately, and eliminate redundant or unused includes. Additionally, streamline source files by repositioning self-include statements, adjust comment formatting, correct minor typos, and remove superfluous whitespace or blank lines for improved readability and consistency without altering functionality.

  • add remapping-aware blackboard iteration (#100)

    • add remapping-aware blackboard iteration API with tests

    * return None for non-python blackboard values instead of unsafe casting ---------Co-authored-by: Maik Knof <<knofm@hs-weingarten.de>>

  • Adding state metadata (#95)

    * feat(state): add metadata support with default value injection for blackboard keys Add StateMetadata and BlackboardKeyInfo structures to enable states to declare input and output keys with optional default values. When a state is executed, default values are automatically injected into the blackboard for any missing input keys that have defaults defined. This allows states to declare their dependencies and provide sensible defaults without requiring the blackboard to be pre-populated. Includes Python bindings and comprehensive unit tests.

    * feat: add metadata and defaults support to editor and factory Add description and default value support to the state machine editor GUI and factory. This includes:

    • New DefaultsDialog for editing default blackboard values in the editor
    • Updated dialogs to support description and defaults for states and state machines
    • XML parsing and serialization for description attribute and Default elements
    • Plugin info now exposes description and input/output keys from states
    • Python bindings simplified to support arbitrary types for default values
    • External metadata storage preserves ABI compatibility with existing plugins

    * feat: add default value injection for Python blackboard keys Enables storing Python objects as default values for blackboard keys by using shared_ptr to maintain object lifetime, with a lambda that properly injects the default value using GIL acquisition when the key is accessed.

    • State metadata demos (#77)
    • add state metadata across all python demo files

    * add description-aware constructors to BlackboardKeyInfo Throws an segfault currently.

    • add state metadata to all cpp demos
    • guard unsupported metadata default conversion in pybind

    * add cli tool for inspecting states Current counter value stored in the blackboard. Output keys:

    • counter
    • use keyword description in python demos to avoid pybind overload ambiguity

    * remove defaults for output_keys in python demos output_keys shouldn't have default values

    • only print keys if they exist
    • disambiguate string default metadata in state tests
    • make cpp_formatter happy
    • make cpp_formatter happy 2
    • make python_formatter happy

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 at Robotics Stack Exchange