CHANGELOG

Changelog for package flexbe_core

3.0.4 (2024-07-02)

  • minor clean up from flake8/pycodestyle

  • add option to globally set desired update rate by calling set_default_rate from behavior

  • add peek_at_buffer to proxy subscriber; modify processing of transition command for nested behaviors

  • modify _entering flag and no sleep if entering

  • grab reference to avoid race condition processing message in different thread while behavior finishing

  • tweak state_map string text

3.0.3 (2024-06-06)

3.0.2 (2024-06-04)

  • flake8/pycodestyle cleanup

3.0.1 (2024-05-31)

  • Add parsing check to handle exceptions in manifest

3.0.0 (2024-05-01)

  • update with state map and changes to concurrent handling

  • add options to remove service callers and action clients

  • proxy publisher dictionary usage

  • use modern style names with deprecated flag

  • add sync lock to proxies

  • added code to remove subscriptions and publishers with sync lock

  • use deque for msg buffer add lock to prevent modifications during callback (e.g. when thread starts or finishes)

  • add hash for StateMap outcome index to standardize handling

  • reinitialize existing state machine instead of rebuilding on sync (1000x faster)

  • update with standardized topic handling

  • update ui version handling

  • OperatableStateMachine is now a pseudo manually transitionable state (TODO -separate logic to shadow state design)

  • add is_controlled check to avoid attempts at duplicate subscriptions and cleanup

  • onboard side coded to send new BehaviorSync and ‘mirror/outcome’

  • adding state_id handling; pre-building ContainerStructure to set IDs

  • flake8, pep257 and codestyle checks

2.3.4 (2024-05-01)

  • proxy action client: remove result_status and test proxy status

  • Fixed bug when trying to get result state/GoalStatus.

  • Add throttle option for logging (PR #14)

2.3.3 (2023-08-09)

  • destroy sub/pub/client in executor thread

  • update to protect against executor calls after unsubscribe/shutdown

  • use SingleThreadedExecutor without callback groups

  • use basic pub/sub for onboard; cleanup

2.3.2 (2023-08-01)

2.3.1 (2023-07-31)

  • merge from ros2-devel to reduce spam and missing package handling

2.3.0 (2023-07-20)

  • add wait_duration to proxy action client send goal and other tweaks * This change could reducing waiting. If you need longer wait time, specify wait_duration

  • make action client is_available check current status not wait

  • flake8 cleanup; make test consistent; protect against build farm timing issue

  • cleanup; modify handling of existing subscriptions

  • Updates to dependencies for ROS build farm

  • Modify sync messaging to avoid issue if not active state when behavior shuts down

  • clean up some spam to FlexBE app console

  • include package name in behavior request (requires flexbe_app 3.1+) to allow duplicate behavior names in packages

2.2.0 (2023-06-29)

  • Modify to used behavior_id (checksum) and behavior_key consistently

  • Modify shutdown handling for clean stop

  • Modify wait() handling to avoid creating a rate object

  • modify sync handling and execute loop timing

  • add proxy tf listener

  • Require ‘inst_id’ for ProxySubscriber setup (change from ‘id’)

  • flake8, pep257, pylint cleanup; licenses and copyright

  • Pull request #154

  • Pull request #163

  • Pull request #153 Modification

  • Merge pull request #11 from grejj/ros2-devel Added destroy rate calls to clear up rate resources (undone by item 2 above)

2.1.1 (2022-09-12)

  • ProxyServiceCaller changes * fix issue #1 * wait_duration handling * connect without service being available * misc cleanup

2.1.0 (2022-08-02)

  • ROS 2 Humble release

  • Includes changes sync check handling

  • Label proxy subscribers by instance id and handle instance type changes

  • Update proxy action client handling

  • Tested under Ubuntu 22.04 and ROS Humble

2.0.0 (2022-02-22)

  • Initial ROS 2 “foxy” release based on ROS 1 commit a343c657

  • Includes changes to concurrent state and sleep handling

1.3.1 (2020-12-11)

  • [flexbe_core] Replace set conversion for python3 compatibility (see #136)

  • Contributors: Philipp Schillinger

1.3.0 (2020-11-19)

  • [flexbe_core] Further fixes to userdata

  • [flexbe_core] [flexbe_widget] Correctly handle non-existing behaviors in action goals (fix #133)

  • [flexbe_core] Several fixes to userdata (see #129)

  • [flexbe_core] [flexbe_testing] [flexbe_widget] Use yaml backwards compatible

  • Merge remote-tracking branch ‘origin/feature/core_rework’ into develop # Conflicts: # flexbe_core/src/flexbe_core/core/operatable_state_machine.py # flexbe_onboard/src/flexbe_onboard/flexbe_onboard.py

  • Merge branch ‘feature/core_rework’ of https://github.com/team-vigir/flexbe_behavior_engine into feature/core_rework

  • Add support for python3

  • [flexbe_core] Fix typo in userdata handling of concurrency container

  • [flexbe_core] Use more explicit userdata update operations

  • [flexbe_core] Add userdata tests and improvements

  • [flexbe_core] Add checks and specific exception types

  • [flexbe_core] Add test cases for state capabilities

  • Major clean-up of most core components

  • Remove smach dependency

  • Contributors: Philipp Schillinger

1.2.5 (2020-06-14)

  • [flexbe_core] Consider a running mirror as being controlled (see #123)

  • Merge pull request #113 from team-vigir/feature/state_logger_rework State Logger Rework

  • Merge branch ‘develop’ into feature/state_logger_rework

  • [flexbe_core] Allow to specify a subset of logged userdata keys

  • [flexbe_core] Extend configuration options

  • [flexbe_core] Rework state logger implementation

  • Contributors: Philipp Schillinger

1.2.4 (2020-03-25)

  • [flexbe_core] Add tests for proxies

  • [flexbe_core] Several minor improvements of proxies (see #114)

  • [flexbe_msgs] [flexbe_core] Add debug level to logger (see #101)

  • Merge pull request #110 from team-vigir/fix/catkin_install Let behavior library find sourcecode in devel or install spaces

  • Let behavior library find sourcecode in devel or install spaces (fix #104)

  • [flexbe_core] Fix reset of requested outcome when re-visiting the same state and immediately requesting an outcome

  • [flexbe_core] Fix duplicate sleep in case of state machine inside concurrency

  • [flexbe_core] Robustify priority container path handling

  • Do not trigger on_resume and on_exit when stopped during pause (see #103)

  • Remove mistakenly added text

  • Merge branch ‘fmessmer-feature/python3_compatibility’ into develop

  • Remove explicit list construction where not required

  • Remove redundant type check

  • python3 compatibility via 2to3

  • Contributors: Philipp Schillinger, fmessmer

1.2.3 (2020-01-10)

  • Merge pull request #97 from team-vigir/feature/test_behaviors flexbe_testing support for behaviors

  • [flexbe_core] Clear previous outcome requests on state loopback (see #93)

  • [flexbe_core] [flexbe_onboard] Move behavior parametrization to core

  • Merge remote-tracking branch ‘origin/develop’ into feature/test_behaviors # Conflicts: # flexbe_testing/bin/testing_node # flexbe_testing/src/flexbe_testing/state_tester.py

  • [flexbe_core] [flexbe_widget] Add simple breakpoint feature (see #93)

  • Merge pull request #88 from team-vigir/fix/concurrency_sleep Fix rate sleep of concurrency container

  • Fix rate sleep of concurrency container (see #87)

  • Contributors: Philipp Schillinger

1.2.2 (2019-09-16)

  • [flexbe_core] Add method to set a custom execute rate for states

  • [flexbe_core] Remove unnecessary sleep call in logger (see #79)

  • [flexbe_core] Fix custom rate issues with nested and concurrent states

  • Contributors: Philipp Schillinger

1.2.1 (2019-06-02)

  • Merge pull request #72 from mgruhler/fix/filemodes fix filemodes: those files should not be executable

  • fix filemodes: those files should not be executable

  • Merge remote-tracking branch ‘origin/feature/sub_parameters’ into develop

  • Bump required flexbe_app version

  • [flexbe_core] Accept explicit definition of parameters for included behaviors

  • Merge remote-tracking branch ‘origin/master’ into develop

  • Contributors: Matthias Gruhler, Philipp Schillinger

1.1.2 (2019-04-09)

  • Merge remote-tracking branch ‘origin/develop’

  • Merge pull request #66 from ksm0709/add_remove_result add remove_result function to proxy action client

  • add remove_result function to proxy action client

  • Merge remote-tracking branch ‘origin/master’ into develop

  • Contributors: Philipp Schillinger, taehokang

1.1.1 (2018-12-18)

  • Merge remote-tracking branch ‘origin/develop’

  • Revise run dependencies

  • Merge remote-tracking branch ‘origin/master’ into develop

  • Contributors: Philipp Schillinger

1.1.0 (2018-12-01)

  • Merge branch ‘develop’

  • Merge branch ‘feature/flexbe_app’ into develop

  • Update maintainer information

  • State logger is optional and off by default

  • Merge remote-tracking branch ‘origin/action_client_remove_feedback’ into feature/flexbe_app

  • Merge pull request #62 from team-vigir/action_client_remove_feedback Added remove_feedback function to ensure new feedback is received

  • Added remove_feedback function to ensure new feedback is received

  • Merge pull request #58 from alireza-hosseini/feat-action-client-wait-param feat: Add wait_duration parameter to ProxyActionClient

  • feat: Add wait_duration parameter to ProxyActionClient - So that the wait duration can be specified in the states definition

  • [flexbe_core] Allow to use behavior default userdata (see #38)

  • [flexbe_core] Update behavior lib if behavior is not found (see Flexbe/flexbe_app#4)

  • Merge branch ‘develop’ into feature/flexbe_app Conflicts: flexbe_mirror/src/flexbe_mirror/flexbe_mirror.py flexbe_onboard/src/flexbe_onboard/flexbe_onboard.py flexbe_widget/bin/flexbe_app flexbe_widget/src/flexbe_widget/behavior_action_server.py

  • Merge remote-tracking branch ‘origin/master’ into develop Conflicts: flexbe_onboard/src/flexbe_onboard/flexbe_onboard.py

  • Merge remote-tracking branch ‘origin/develop’ Conflicts: flexbe_onboard/src/flexbe_onboard/flexbe_onboard.py

  • Merge pull request #31 from fmauch/reset_entering reset entering of currently active state when exiting a state machine

  • reset entering member of currently active state when exiting a state machine

  • Find behaviors by export tag and execute via checksum

  • Merge branch ‘automatic_reload’ into develop

  • allow locking and unlocking of current state without knowing the current path

  • remove manual reloading code, as this is done already by the reload importer

  • Merge pull request #26 from jgdo/automatic_reload Automatic reload

  • automatic reload of imported behaviors upon sm creation

  • Reload class definition before instantiating a contained behavior inside a behavior

  • Merge remote-tracking branch ‘origin/master’ into develop

  • [flexbe_core] Fixed event triggering in concurrency container (resolve #18)

  • Merge remote-tracking branch ‘origin/master’

  • Merge remote-tracking branch ‘origin/develop’

  • [flexbe_core] Only call on_exit on cc leave for states which are still looping (fix #17)

  • Merge branch ‘develop’

  • [flexbe_core] Fixed sm on_exit to propagate own ud instead of parent ud

  • Merge branch ‘master’ into cnurobotics

  • Merge remote-tracking branch ‘origin/develop’

  • [flexbe_core] Properly reset current state when leaving state machine (fix #7)

  • Merge remote-tracking branch ‘origin/develop’

  • [flexbe_core] Fixed reset of current state on leave in cc and related concurrency userdata problems

  • [flexbe_core] Use aggregated diagnostics topic instead of raw

  • [flexbe_core] Correctly execute concurrency inside priority container

  • [flexbe_core] Can always preempt behavior even if not supervised

  • Merge remote-tracking branch ‘origin/develop’

  • Provide option to set userdata input on behavior action calls

  • [flexbe_core] Fixed occasional problems to resume a paused state

  • [flexbe_core] [flexbe_mirror] Improved robustness of fast repeated synchronization

  • Merge branch ‘feature/late_connect’ into develop

  • [flexbe_core] Added command to attach to running behavior execution

  • Merge branch ‘feature/pause_repeat’ into develop

  • [flexbe_core] Handle pause and repeat commands

  • [flexbe_core] Propagate skipped notification on pause in order to react on preemption commands even if paused

  • [flexbe_core] Added function to check if a goal is already active on a proxy client

  • [flexbe_core] Fix for backup sync

  • [flexbe_core] Fixed sync issues after leaving CC by explicitly syncing automatically

  • [flexbe_core] Fixed calling on_exit on all states in CC

  • Merge remote-tracking branch ‘origin/feature/multirobot’

  • Merge remote-tracking branch ‘origin/master’ into feature/multirobot Conflicts: flexbe_core/src/flexbe_core/core/monitoring_state.py flexbe_core/src/flexbe_core/core/operatable_state.py

  • [flexbe_core] Added availability checks to proxies

  • [flexbe_core] Added onboard debug topic for current state

  • [flexbe_core] Convert all logged messages to string before sending ros message in logger

  • [flexbe_core] Added priority container

  • [flexbe_core] Added some more documentation

  • [flexbe_core] Fixed initialization of input userdata in inner statemachines

  • [flexbe_core] Correctly preempt auxilliary control flows in concurrency container

  • [flexbe_core] Fixed a bug with concurrent execution: State machines inside state machine inside concurrency containers still blocked during execution.

  • [flexbe_core] Slightly reworked monitoring state

  • [flexbe_core] Fixed preemption of concurrency container

  • [flexbe_core] Added container for concurrent execution

  • Changed absolute topic references to relative

  • [flexbe_core] Improved proxy interface

  • [flexbe_core] Reverted last change, will only publish state updates when being controlled

  • [flexbe_core] Always send outcome update, even if not being controlled

  • Removed some old and unused project files

  • Initial commit of software

  • Contributors: Alberto, Alireza, David Conner, Dorian Scholz, DorianScholz, Felix Mauch, Mark Prediger, Philipp Schillinger