From a25a1184a1c83410eb9b13fbaf095c737df9f9e7 Mon Sep 17 00:00:00 2001 From: David Conner Date: Sat, 24 Aug 2024 22:42:49 -0400 Subject: [PATCH] 3.0.7 --- flexbe_behavior_engine/CHANGELOG.rst | 4 +++- flexbe_behavior_engine/package.xml | 2 +- flexbe_core/CHANGELOG.rst | 9 +++++++++ .../flexbe_core/core/operatable_state_machine.py | 2 +- flexbe_core/flexbe_core/core/state_machine.py | 1 + flexbe_core/flexbe_core/core/state_map.py | 3 ++- .../flexbe_core/proxy/proxy_action_client.py | 14 +++++++------- flexbe_core/package.xml | 2 +- flexbe_core/setup.py | 2 +- flexbe_input/CHANGELOG.rst | 6 ++++++ flexbe_input/flexbe_input/input_action_server.py | 2 +- flexbe_input/flexbe_input/input_gui.py | 14 +++++++------- flexbe_input/package.xml | 2 +- flexbe_input/setup.py | 2 +- flexbe_mirror/CHANGELOG.rst | 6 ++++++ flexbe_mirror/package.xml | 2 +- flexbe_mirror/setup.py | 2 +- flexbe_msgs/CHANGELOG.rst | 4 ++++ flexbe_msgs/package.xml | 2 +- flexbe_onboard/CHANGELOG.rst | 4 ++++ flexbe_onboard/package.xml | 2 +- flexbe_onboard/setup.py | 2 +- flexbe_states/CHANGELOG.rst | 5 +++++ flexbe_states/package.xml | 2 +- flexbe_states/setup.py | 2 +- flexbe_testing/CHANGELOG.rst | 4 ++++ flexbe_testing/package.xml | 2 +- flexbe_widget/CHANGELOG.rst | 4 ++++ flexbe_widget/package.xml | 2 +- 29 files changed, 78 insertions(+), 32 deletions(-) diff --git a/flexbe_behavior_engine/CHANGELOG.rst b/flexbe_behavior_engine/CHANGELOG.rst index 4724867..b5e4e37 100644 --- a/flexbe_behavior_engine/CHANGELOG.rst +++ b/flexbe_behavior_engine/CHANGELOG.rst @@ -2,9 +2,11 @@ Changelog for package flexbe_behavior_engine ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3.0.6 (2024-08-05) +3.0.7 (2024-08-24) ------------------ +3.0.6 (2024-08-05) +------------------ 3.0.5 (2024-07-02) ------------------ diff --git a/flexbe_behavior_engine/package.xml b/flexbe_behavior_engine/package.xml index 0d7842e..e78adb8 100644 --- a/flexbe_behavior_engine/package.xml +++ b/flexbe_behavior_engine/package.xml @@ -1,7 +1,7 @@ flexbe_behavior_engine - 3.0.6 + 3.0.7 A meta-package to aggregate all the FlexBE packages diff --git a/flexbe_core/CHANGELOG.rst b/flexbe_core/CHANGELOG.rst index c7f1003..ac3ea9a 100644 --- a/flexbe_core/CHANGELOG.rst +++ b/flexbe_core/CHANGELOG.rst @@ -2,6 +2,15 @@ Changelog for package flexbe_core ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* reduce default wait durations on proxy start ups; reduce start up spam +* clarify state map message +* allow controllable OSM and concurrency outputs; improve sync handling; unhandled state exception stops behavior +* modify clear action handling; retain action result status; reduce startup spam +* add initialize_flexbe_core for common initialization +* updates to ConcurrencyContainer and StateMachine to handle sync and forced outcomes + 3.0.6 (2024-08-05) ------------------ * update cancel for action client diff --git a/flexbe_core/flexbe_core/core/operatable_state_machine.py b/flexbe_core/flexbe_core/core/operatable_state_machine.py index 3a37d38..de3b960 100644 --- a/flexbe_core/flexbe_core/core/operatable_state_machine.py +++ b/flexbe_core/flexbe_core/core/operatable_state_machine.py @@ -195,7 +195,7 @@ def _execute_current_state(self): cmd_msg2 = self._sub.get_from_buffer(Topics._CMD_TRANSITION_TOPIC) # Using here, so clear from buffer assert cmd_msg2 is command_msg, 'Unexpected change in CMD_TRANSITION_TOPIC buffer' Logger.localinfo(f"Statemachine '{self.name}' from '{self.path}' is " - f"handling the transition cmd msg={command_msg}") + f"handling the transition cmd msg='{command_msg}'") self._force_transition = True outcome = self.outcomes[command_msg.outcome] diff --git a/flexbe_core/flexbe_core/core/state_machine.py b/flexbe_core/flexbe_core/core/state_machine.py index 013eda3..1a52e16 100644 --- a/flexbe_core/flexbe_core/core/state_machine.py +++ b/flexbe_core/flexbe_core/core/state_machine.py @@ -143,6 +143,7 @@ def execute(self, userdata): return outcome def on_enter(self, userdata): + """Call on entering the state machine.""" self.assert_consistent_transitions() self._entering = False self._current_state = self.initial_state diff --git a/flexbe_core/flexbe_core/core/state_map.py b/flexbe_core/flexbe_core/core/state_map.py index 8906557..436fe2f 100644 --- a/flexbe_core/flexbe_core/core/state_map.py +++ b/flexbe_core/flexbe_core/core/state_map.py @@ -47,7 +47,8 @@ def __init__(self): def __str__(self): """Return string with state map information.""" return (f'State map with {len(self._state_map)} entries' - + ('.' if self._num_collision_processed == 0 else f' (resolved {self._num_collision_processed} state map id collisions)!')) + + ('.' if self._num_collision_processed == 0 else + f' (resolved {self._num_collision_processed} state map id collisions)!')) def __getitem__(self, index): """Get existing state if possible, or return None.""" diff --git a/flexbe_core/flexbe_core/proxy/proxy_action_client.py b/flexbe_core/flexbe_core/proxy/proxy_action_client.py index a481a9a..5ff19f7 100644 --- a/flexbe_core/flexbe_core/proxy/proxy_action_client.py +++ b/flexbe_core/flexbe_core/proxy/proxy_action_client.py @@ -53,13 +53,13 @@ class ProxyActionClient: _client_sync_lock = Lock() _goal_status_dict = { - 0: "UNKNOWN", - 1: "ACCEPTED", - 2: "EXECUTING", - 3: "CANCELING", - 4: "SUCCEEDED", - 5: "CANCELED", - 6: "ABORTED" + 0: 'UNKNOWN', + 1: 'ACCEPTED', + 2: 'EXECUTING', + 3: 'CANCELING', + 4: 'SUCCEEDED', + 5: 'CANCELED', + 6: 'ABORTED' } @staticmethod diff --git a/flexbe_core/package.xml b/flexbe_core/package.xml index dbc72c4..7b8d29b 100644 --- a/flexbe_core/package.xml +++ b/flexbe_core/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_core - 3.0.6 + 3.0.7 flexbe_core provides the core components for the FlexBE behavior engine. diff --git a/flexbe_core/setup.py b/flexbe_core/setup.py index 9010ba3..e113df8 100644 --- a/flexbe_core/setup.py +++ b/flexbe_core/setup.py @@ -6,7 +6,7 @@ setup( name=PACKAGE_NAME, - version='3.0.6', + version='3.0.7', packages=find_packages(exclude=['test']), data_files=[ ('share/ament_index/resource_index/packages', ['resource/' + PACKAGE_NAME]), diff --git a/flexbe_input/CHANGELOG.rst b/flexbe_input/CHANGELOG.rst index 7abb614..7041ee9 100644 --- a/flexbe_input/CHANGELOG.rst +++ b/flexbe_input/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package flexbe_input ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* fix issue with input action server +* add new states; modify BehaviorInput to allow strings and selection combo box +* add initialize_flexbe_core for common initialization + 3.0.6 (2024-08-05) ------------------ * allow canceling input request diff --git a/flexbe_input/flexbe_input/input_action_server.py b/flexbe_input/flexbe_input/input_action_server.py index 4853307..aa3a51a 100644 --- a/flexbe_input/flexbe_input/input_action_server.py +++ b/flexbe_input/flexbe_input/input_action_server.py @@ -178,7 +178,7 @@ def execute_callback(self, goal_handle): else: print(f"Process data '{self._input}' as {type_class}", flush=True) input_data = ast.literal_eval(self._input) # convert string to Python data - print(f" input data[{type(input_data)}] = {input_data}", flush=True) + print(f" input data[{type(input_data)}] = '{input_data}'", flush=True) data_len = 1 if isinstance(input_data, (int, float)) else len(input_data) if not isinstance(input_data, type_class): diff --git a/flexbe_input/flexbe_input/input_gui.py b/flexbe_input/flexbe_input/input_gui.py index e3b17b9..5a5650d 100644 --- a/flexbe_input/flexbe_input/input_gui.py +++ b/flexbe_input/flexbe_input/input_gui.py @@ -61,7 +61,7 @@ def __init__(self, prompt): self.input_line = None def clear_layout(self): - # Clear prior layout + """Clear prior layout of widget.""" while self.main_layout.count(): item = self.main_layout.takeAt(0) widget = item.widget() @@ -70,7 +70,7 @@ def clear_layout(self): widget.deleteLater() def set_layout(self, prompt, items=None): - # Update the layout + """Update the widget layout.""" self.clear_layout() self.prompt = QLabel(self) @@ -179,15 +179,15 @@ def set_layout(self, prompt, items=None): def change_selection(self): """Print selection.""" if self.combo_box is None: - print("Unknown combo box - why is this called!", flush=True) + print('Unknown combo box - why is this called!', flush=True) else: print(f" Currently selected '{self.combo_box.currentText()}' ") def set_selection(self): """Set input text from selection box.""" if self.combo_box is None: - print("Unknown combo box - why is this called!", flush=True) - self.input = "unknown" + print('Unknown combo box - why is this called!', flush=True) + self.input = 'unknown' else: print(f" Selected '{self.combo_box.currentText()}' ") self.input = self.combo_box.currentText() @@ -195,8 +195,8 @@ def set_selection(self): def set_input(self): """Set input text from GUI.""" if self.input_line is None: - print("Unknown combo box - why is this called!", flush=True) - self.input = "unknown" + print('Unknown combo box - why is this called!', flush=True) + self.input = 'unknown' else: self.input = self.input_line.text() diff --git a/flexbe_input/package.xml b/flexbe_input/package.xml index 91a882b..3e933ae 100644 --- a/flexbe_input/package.xml +++ b/flexbe_input/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_input - 3.0.6 + 3.0.7 flexbe_input enables to send data to onboard behavior when required. diff --git a/flexbe_input/setup.py b/flexbe_input/setup.py index 5560410..3c81c04 100644 --- a/flexbe_input/setup.py +++ b/flexbe_input/setup.py @@ -6,7 +6,7 @@ setup( name=PACKAGE_NAME, - version='3.0.6', + version='3.0.7', packages=find_packages(exclude=['test']), data_files=[ ('share/ament_index/resource_index/packages', ['resource/' + PACKAGE_NAME]), diff --git a/flexbe_mirror/CHANGELOG.rst b/flexbe_mirror/CHANGELOG.rst index d9b36ac..0d8cc30 100644 --- a/flexbe_mirror/CHANGELOG.rst +++ b/flexbe_mirror/CHANGELOG.rst @@ -2,6 +2,12 @@ Changelog for package flexbe_mirror ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* modify mirror handling for controllable OSM/CC and improve sync +* add initialize_flexbe_core for common initialization +* updates to ConcurrencyContainer and StateMachine to handle sync and forced outcomes + 3.0.6 (2024-08-05) ------------------ * clean up sync messaging and set entering flag for state diff --git a/flexbe_mirror/package.xml b/flexbe_mirror/package.xml index e6ddc26..b6ddd51 100644 --- a/flexbe_mirror/package.xml +++ b/flexbe_mirror/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_mirror - 3.0.6 + 3.0.7 flexbe_mirror implements functionality to remotely mirror an executed behavior. diff --git a/flexbe_mirror/setup.py b/flexbe_mirror/setup.py index e2473e7..bb6e6b9 100644 --- a/flexbe_mirror/setup.py +++ b/flexbe_mirror/setup.py @@ -7,7 +7,7 @@ setup( name=PACKAGE_NAME, - version='3.0.6', + version='3.0.7', packages=find_packages(exclude=['test']), data_files=[ ('share/ament_index/resource_index/packages', ['resource/' + PACKAGE_NAME]), diff --git a/flexbe_msgs/CHANGELOG.rst b/flexbe_msgs/CHANGELOG.rst index 30f99eb..8467754 100644 --- a/flexbe_msgs/CHANGELOG.rst +++ b/flexbe_msgs/CHANGELOG.rst @@ -2,6 +2,10 @@ Changelog for package flexbe_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* add new states; modify BehaviorInput to allow strings and selection combo box + 3.0.6 (2024-08-05) ------------------ diff --git a/flexbe_msgs/package.xml b/flexbe_msgs/package.xml index 3d02a40..efca18f 100644 --- a/flexbe_msgs/package.xml +++ b/flexbe_msgs/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_msgs - 3.0.6 + 3.0.7 flexbe_msgs provides the messages used by FlexBE. diff --git a/flexbe_onboard/CHANGELOG.rst b/flexbe_onboard/CHANGELOG.rst index dc60854..b0491e1 100644 --- a/flexbe_onboard/CHANGELOG.rst +++ b/flexbe_onboard/CHANGELOG.rst @@ -2,6 +2,10 @@ Changelog for package flexbe_onboard ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* add initialize_flexbe_core for common initialization + 3.0.6 (2024-08-05) ------------------ * minor clean up from flake8/pycodestyle diff --git a/flexbe_onboard/package.xml b/flexbe_onboard/package.xml index 8068892..979dc30 100644 --- a/flexbe_onboard/package.xml +++ b/flexbe_onboard/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_onboard - 3.0.6 + 3.0.7 flexbe_onboard implements the robot-side of the behavior engine from where all behaviors are started. diff --git a/flexbe_onboard/setup.py b/flexbe_onboard/setup.py index a25463c..375fd68 100644 --- a/flexbe_onboard/setup.py +++ b/flexbe_onboard/setup.py @@ -9,7 +9,7 @@ setup( name=package_name, - version='3.0.6', + version='3.0.7', packages=find_packages(), data_files=[ (os.path.join('share', package_name), glob('launch/*.launch.py')), diff --git a/flexbe_states/CHANGELOG.rst b/flexbe_states/CHANGELOG.rst index e94bf5c..98fe400 100644 --- a/flexbe_states/CHANGELOG.rst +++ b/flexbe_states/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package flexbe_states ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* add new states; modify BehaviorInput to allow strings and selection combo box +* add initialize_flexbe_core for common initialization + 3.0.6 (2024-08-05) ------------------ * update cancel for action client; define get_status to replace get_state for proxy action client diff --git a/flexbe_states/package.xml b/flexbe_states/package.xml index 09970b8..2087554 100644 --- a/flexbe_states/package.xml +++ b/flexbe_states/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_states - 3.0.6 + 3.0.7 flexbe_states provides a collection of common generic predefined states. diff --git a/flexbe_states/setup.py b/flexbe_states/setup.py index a7a927a..f4699fb 100644 --- a/flexbe_states/setup.py +++ b/flexbe_states/setup.py @@ -9,7 +9,7 @@ setup( name=PACKAGE_NAME, - version='3.0.6', + version='3.0.7', packages=find_packages(), data_files=[ ('share/ament_index/resource_index/packages', ['resource/' + PACKAGE_NAME]), diff --git a/flexbe_testing/CHANGELOG.rst b/flexbe_testing/CHANGELOG.rst index 1d9be5a..5224c30 100644 --- a/flexbe_testing/CHANGELOG.rst +++ b/flexbe_testing/CHANGELOG.rst @@ -2,6 +2,10 @@ Changelog for package flexbe_testing ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* add initialize_flexbe_core for common initialization + 3.0.6 (2024-08-05) ------------------ diff --git a/flexbe_testing/package.xml b/flexbe_testing/package.xml index 918c2bc..6ea9db6 100644 --- a/flexbe_testing/package.xml +++ b/flexbe_testing/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_testing - 3.0.6 + 3.0.7 flexbe_testing provides a framework for unit testing states. diff --git a/flexbe_widget/CHANGELOG.rst b/flexbe_widget/CHANGELOG.rst index c4c9d2d..388c2d5 100644 --- a/flexbe_widget/CHANGELOG.rst +++ b/flexbe_widget/CHANGELOG.rst @@ -2,6 +2,10 @@ Changelog for package flexbe_widget ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3.0.7 (2024-08-24) +------------------ +* update create_repo script + 3.0.6 (2024-08-05) ------------------ diff --git a/flexbe_widget/package.xml b/flexbe_widget/package.xml index b8c5e0d..f1f0d88 100644 --- a/flexbe_widget/package.xml +++ b/flexbe_widget/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?> flexbe_widget - 3.0.6 + 3.0.7 flexbe_widget implements some smaller scripts for the behavior engine.