diff --git a/README.md b/README.md index 2ba10a9..6ae6d9b 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ | Field | Value | |---------------|--------------| -| Last Updated | 2026-08-10 | -| Version | 1.0.0 | +| Last Updated | 2026-08-13 | +| Version | 1.0.1 | ## Overview @@ -16,7 +16,7 @@ This is not a full COLREGs rule-engine (it doesn't encode give-way/stand-on role logic for head-on, crossing, or overtaking encounters) - it's a general risk-envelope-avoidance automaton. Feed it any polygon as an unsafe region (a static hazard, a buffered obstacle, a COLREGs-derived exclusion zone computed upstream, etc.) and it will route around it. -**Framework Status**: v1.0.0 - Stable API, tested against real `hybrid-automaton>=1.0.0`, ready for simulation use and ROS2 integration testing on hardware. +**Framework Status**: v1.0.1 - Stable API, tested against real `hybrid-automaton>=1.0.1`, ready for simulation use and ROS2 integration testing on hardware. If you have ideas for improvement or want to contribute, please reach out and become a collaborator! @@ -135,7 +135,7 @@ Please cite this package as described below if used in research: ```bibtex @misc{colav_automaton_2026, author = {Ryan McKee}, - title = {colav-automaton v1.0.0}, + title = {colav-automaton v1.0.1}, howpublished = {GitHub repository}, year = {2026}, note = {Accessed: Aug. 10, 2026}, diff --git a/pyproject.toml b/pyproject.toml index c2d7a94..023789f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ classifiers = [ "Programming Language :: Python :: Implementation :: PyPy", ] dependencies = [ - "hybrid-automaton>=1.0.0", + "hybrid-automaton>=1.0.1", "shapely", ] diff --git a/src/colav_automaton/__about__.py b/src/colav_automaton/__about__.py index 410b4cf..5a30ec2 100644 --- a/src/colav_automaton/__about__.py +++ b/src/colav_automaton/__about__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: 2025-present Ryan McKee # # SPDX-License-Identifier: MIT -__version__ = "1.0.0" +__version__ = "1.0.1" diff --git a/src/colav_automaton/automaton.py b/src/colav_automaton/automaton.py index 54220d6..f9bd50f 100644 --- a/src/colav_automaton/automaton.py +++ b/src/colav_automaton/automaton.py @@ -70,19 +70,20 @@ def ColavAutomaton( name="e1", to_state=q2, guards=[heading_not_within_tolerance_guard], - priority=1 + priority=2 ) e2 = Transition( name="e2", to_state=q2, guards=[los_clear_to_waypoint_guard], reset=generate_new_virtual_waypoint, - priority=0 + priority=1 ) e4 = Transition( name="e4", to_state=q4, - guards=[waypoint_reached_guard] + guards=[waypoint_reached_guard], + priority=0 ) q1.add_transitions([e1, e2, e4]) @@ -90,12 +91,14 @@ def ColavAutomaton( e5 = Transition( name = "e5", to_state=q1, - guards=[heading_within_tolerance_guard] + guards=[heading_within_tolerance_guard], + priority=1 ) e6 = Transition( name="e6", to_state=q3, - guards=[unsafe_conditions_guard] + guards=[unsafe_conditions_guard], + priority=0 ) q2.add_transitions([e5, e6]) @@ -104,7 +107,8 @@ def ColavAutomaton( e8 = Transition( name="e8", to_state=q1, - guards=[safe_conditions_guard] + guards=[safe_conditions_guard], + priority=0 ) q3.add_transition(e8) @@ -113,14 +117,15 @@ def ColavAutomaton( name="e7", to_state=q1, guards=[virtual_waypoints_guard], - reset=pop_virtual_waypoint + reset=pop_virtual_waypoint, + priority=0 ) q4.add_transition(e7) ha = Automaton( name="COLAV Automaton", - version="1.0.0", + version="1.0.1", states=[ q1, q2, diff --git a/src/colav_automaton/dynamics/__init__.py b/src/colav_automaton/dynamics/__init__.py index fe1fd15..a97f3b5 100644 --- a/src/colav_automaton/dynamics/__init__.py +++ b/src/colav_automaton/dynamics/__init__.py @@ -1,5 +1,5 @@ __author__ = "Ryan McKee " -__version__ = "1.0.0" +__version__ = "1.0.1" __description__ = "dynamics functions for the states of hybrid-automaton colav-automaton" from .dynamics import constant_heading_dynamics, flow_los_heading diff --git a/src/colav_automaton/guards/__init__.py b/src/colav_automaton/guards/__init__.py index 419d38d..888dff2 100644 --- a/src/colav_automaton/guards/__init__.py +++ b/src/colav_automaton/guards/__init__.py @@ -9,7 +9,7 @@ ) __author__ = "Ryan McKee " -__version__ = "1.0.0" +__version__ = "1.0.1" __description__ = "hybrid-automaton framework guards for colav-automaton" __all__ = [ diff --git a/src/colav_automaton/invariants/__init__.py b/src/colav_automaton/invariants/__init__.py index b934a22..ea8af75 100644 --- a/src/colav_automaton/invariants/__init__.py +++ b/src/colav_automaton/invariants/__init__.py @@ -1,7 +1,7 @@ from .invariants import failing_invariant __author__ = "Ryan McKee " -__version__ = "1.0.0" +__version__ = "1.0.1" __description__ = "hybrid-automaton framework invariants for colav-automaton" __all__ = [ diff --git a/src/colav_automaton/resets/__init__.py b/src/colav_automaton/resets/__init__.py index 42cc47b..08188ab 100644 --- a/src/colav_automaton/resets/__init__.py +++ b/src/colav_automaton/resets/__init__.py @@ -7,7 +7,7 @@ ) __author__ = "Ryan McKee " -__version__ = "1.0.0" +__version__ = "1.0.1" __description__ = "resets for hybrid-automaton transitions that will takes all inputs and " \ "output update continous states (agent continous state scalers, auxielary continous" \ "states dictionary) these resets are specifically for colav-automaton" diff --git a/src/colav_automaton_evaluation/__init__.py b/src/colav_automaton_evaluation/__init__.py index ca74edd..11d6768 100644 --- a/src/colav_automaton_evaluation/__init__.py +++ b/src/colav_automaton_evaluation/__init__.py @@ -5,7 +5,7 @@ from .figure_generator import plot_xy_position_over_time __author__ = "Ryan McKee " -__version__ = "1.0.0" +__version__ = "1.0.1" __description__ = "evaluation/visualization utilities for colav-automaton run results" __all__ = [