Skip to content

Commit

Permalink
Merge pull request team-vigir#6 from team-vigir/develop
Browse files Browse the repository at this point in the history
sync develop branch with team-vigir
  • Loading branch information
fmessmer committed Jan 13, 2021
2 parents 3ffe3ba + 8e2ca45 commit d58e70a
Show file tree
Hide file tree
Showing 113 changed files with 4,076 additions and 2,959 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/flexbe_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This is a basic workflow to help you get started with Actions
name: FlexBE CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test:
strategy:
matrix:
ros: [kinetic, melodic, noetic]
include:
- os: ubuntu-16.04
ros: kinetic
- os: ubuntu-18.04
ros: melodic
- os: ubuntu-20.04
ros: noetic
python: python3

runs-on: ${{ matrix.os }}
env:
ROS_DISTRO: ${{ matrix.ros }}
PYTHON: ${{ matrix.python }}

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Prepare CI
run: |
git clone https://github.com/FlexBE/flexbe_ci.git ~/flexbe_ci
source ~/flexbe_ci/setup.bash $ROS_DISTRO
- name: Install ROS
run: ~/flexbe_ci/ci_scripts/install_ros.bash
- name: Setup Workspace
run: ~/flexbe_ci/ci_scripts/setup_workspace.bash
- name: Clone FlexBE Repos
run: ~/flexbe_ci/ci_scripts/run_rosinstall.bash
- name: Test Create Repo
run: ~/flexbe_ci/ci_scripts/test_create_repo.bash
- name: Test Devel Workspace
run: ~/flexbe_ci/ci_scripts/run_devel_tests.bash
- name: Test Install Workspace
run: ~/flexbe_ci/ci_scripts/run_install_tests.bash
17 changes: 0 additions & 17 deletions .travis.yml

This file was deleted.

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ The user interface features a runtime control interface as well as a graphical e

Please refer to the FlexBE Homepage ([flexbe.github.io](http://flexbe.github.io)) for further information, tutorials, application examples, and much more.

![FlexBE CI](https://github.com/team-vigir/flexbe_behavior_engine/workflows/FlexBE%20CI/badge.svg)

## Installation

Execute the following commands to install FlexBE:
Expand Down
14 changes: 14 additions & 0 deletions flexbe_behavior_engine/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@
Changelog for package flexbe_behavior_engine
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1.3.1 (2020-12-11)
------------------

1.3.0 (2020-11-19)
------------------

1.2.5 (2020-06-14)
------------------
* Merge branch 'develop' into feature/state_logger_rework
* Contributors: Philipp Schillinger

1.2.4 (2020-03-25)
------------------

1.2.3 (2020-01-10)
------------------
* Merge remote-tracking branch 'origin/develop' into feature/test_behaviors
Expand Down
2 changes: 1 addition & 1 deletion flexbe_behavior_engine/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>flexbe_behavior_engine</name>
<version>1.2.3</version>
<version>1.3.1</version>
<description>
A meta-package to aggregate all the FlexBE packages
</description>
Expand Down
8 changes: 0 additions & 8 deletions flexbe_core/.gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
<<<<<<< HEAD
/build/
/lib/
/msg_gen/
/srv_gen/
=======
build
devel
bin
lib
msg_gen
srv_gen
qtcreator-build
>>>>>>> refs/remotes/origin/master
64 changes: 64 additions & 0 deletions flexbe_core/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,70 @@
Changelog for package flexbe_core
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1.3.1 (2020-12-11)
------------------
* [flexbe_core] Replace set conversion for python3 compatibility
(see `#136 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/133>`_)
* [flexbe_core] Several fixes to userdata
(see `#129 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/123>`_)
* Merge pull request `#113 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/114>`_)
* [flexbe_msgs] [flexbe_core] Add debug level to logger
(see `#101 <https://github.com/team-vigir/flexbe_behavior_engine/issues/101>`_)
* Merge pull request `#110 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/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 <https://github.com/team-vigir/flexbe_behavior_engine/issues/97>`_ from team-vigir/feature/test_behaviors
Expand Down
7 changes: 7 additions & 0 deletions flexbe_core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,10 @@ catkin_package(
#install(PROGRAMS bin/hello
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

# run tests
if(CATKIN_ENABLE_TESTING)
find_package(rostest REQUIRED)
add_rostest(test/flexbe_proxies.test)
add_rostest(test/flexbe_core.test)
add_rostest(test/flexbe_exceptions.test)
endif()
7 changes: 4 additions & 3 deletions flexbe_core/package.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<package>
<name>flexbe_core</name>
<version>1.2.3</version>
<version>1.3.1</version>
<description>
flexbe_core provides the core smach extension for the FlexBE behavior engine.
flexbe_core provides the core components for the FlexBE behavior engine.
</description>
<maintainer email="[email protected]">Philipp Schillinger</maintainer>
<license>BSD</license>
Expand All @@ -12,7 +12,8 @@

<buildtool_depend>catkin</buildtool_depend>

<run_depend>smach_ros</run_depend>
<build_depend>rostest</build_depend>

<run_depend>rospy</run_depend>
<run_depend>tf</run_depend>
<run_depend>diagnostic_msgs</run_depend>
Expand Down
36 changes: 11 additions & 25 deletions flexbe_core/src/flexbe_core/__init__.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@
#!/usr/bin/env python


#
# Please use EventState as parent class for new states because it extends all other parent classes.
# For a behavior, choose OperatableStateMachine as state machine.
# For each state machine in the background, choose SilentStateMachine or JumpableStateMachine (only do this if you know what you are doing).
#

from .core import EventState
from .core import OperatableStateMachine, JumpableStateMachine, SilentStateMachine, LockableStateMachine, ConcurrencyContainer, PriorityContainer
from .core import EventState # noqa: F401
from .core import OperatableStateMachine, ConcurrencyContainer, PriorityContainer # noqa: F401

from .behavior import Behavior
from .behavior import Behavior # noqa: F401

from .behavior_library import BehaviorLibrary
from .behavior_library import BehaviorLibrary # noqa: F401

from .logger import Logger
from .logger import Logger # noqa: F401
from .state_logger import StateLogger # noqa: F401


class Autonomy:
"""
Provides constants for the available required Autonomy Levels.
"""

Inherit = 0
"""
Use this whenever you want to rely on an already defined level of autonomy
Typical situations: Outcomes of a contained state machine or behavior, outcome of the input request state
"""

Off = 0
"""
Use this when no level of autonomy is required, the Autonomy Level needs to be at least 'Off'.
Expand All @@ -38,28 +37,15 @@ class Autonomy:
"""
Use this for reliable decisions that only need validation in the 'low' autonomy mode.
"""

High = 2
"""
Use this for more important or high level decisions that will only be executed autonomously when in full autonomy and need validation in the 'high' autonomy mode.
Use this for more important or high level decisions that will only be executed autonomously
when in full autonomy and need validation in the 'high' autonomy mode.
"""

Full = 3
"""
Use this for outcomes that always need an operator input.
A use of this level is not recommended.
"""














Loading

0 comments on commit d58e70a

Please sign in to comment.