![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.4.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/FlexBE/flexbe_app.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-04-29 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Build you workspace:
catkin_make # or catkin build
During the build process, the required nwjs binaries are automatically downloaded and extracted.
To download the binaries manually instead, run the script bin/nwjs_install
.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
rosrun flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
rosrun flexbe_app shortcut create
rosrun flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
rosrun flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS. You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
roslaunch flexbe_app flexbe_ocs.launch
roslaunch flexbe_onboard behavior_onboard.launch # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
roslaunch flexbe_app flexbe_full.launch
Backwards Compatibility
The FlexBE App in this repository replaces the previous flexbe_chrome_app.
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States. Example: flexbe_states. Adding the above export statement is the only change to previous versions.
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
If no package in the ROS_PACKAGE_PATH
contains such an export statement, the FlexBE App will suggest to initialize one of the existing packages as behavior package. Doing so will add the export statement and create the correct structure. If the chosen package already contains behavior manifests, the referenced behaviors can be automatically imported. The old behavior packages and manifests (all manifests outside the manifest folder, e.g., those inside the behaviors folder) can be removed afterwards.
In order to create a completely new behavior package, create an empty ROS package and then use the FlexBE App to initialize it.
A behavior package is expected to provide a manifest
folder which contains the manifests for all provided behaviors. The behaviors are located in a Python module named like the package and contained in the src
folder.
Changelog for package flexbe_app
2.4.1 (2023-05-22)
- merge PR #74, 76, 77; tweak CI workflow
- Merge pull request #60 from fmessmer/fix/catkin_lint some catkin_lint fixes
- some catkin_lint fixes
- Contributors: David Conner, dcconner, fmessmer
2.4.0 (2023-05-18)
- Merge develop branch
- Updates for Melodic and Noetic releases on github.com/FlexBE
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
- Revert nwjs version increment because of Travis failure due to Chromium bug (see https://crbug.com/1025266)
- Increment nwjs version after file chooser fix
- Use HTML file chooser instead of Chrome file API for settings import and export (see #52)
- Improve cache for workspace switching and allow to disable it
- Fix detection of new packages
- Merge branch 'benmaidel-feature/cmd_option_checkbehaviors' into develop
- Always run all behavior check tests and print error message
- Robustify behavior loading for generating behavior check reports
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge remote-tracking branch 'origin/fix/handle_closed_window' into develop
- add --check-behavior command line option
- Fix support for symbolic references in Python parser
- Robustify Python parser against instantiation failures (see team-vigir/flexbe_behavior_engine#99)
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge branch 'cheffe112-bugfix-import-config' into develop
- Fix mixed indentation
- reverting nw.js to last known-to-work version From nw.js 0.42.4, the import/export configuration functionality throws an "Invalid calling page. This function can't be called from a background page." error. This has been reported for nw.js already on https://github.com/nwjs/nw.js/issues/7349. Hence, the import/export functionality is currently unusable with nw.js >0.42.3 as integrated in b93078fd6705445bf6183af40598619243800b1e.
- throw error if importing/exporting configuration crashes
- Explicitly spawn window on center position because default changed
- Allow comment after super-call in regex state parser (see team-vigir/flexbe_behavior_engine#98)
- Check for undefined transition label (fix team-vigir/flexbe_behavior_engine#100)
- Merge branch 'cheffe112-bugfix-python-parsing' into develop
- Fix mixed indentation
- bugfix: avoid crash during Python state parsing on empty documentation string The Python state parsing feature introduced in 4f20227ef900ca32e78414c190fb464d964666e5 used to crash when no docstring is provided in a state definition, hence stalling the parsing procedure. This commit returns the default label "[no documentation]" on a missing docstring.
- Contributors: Benjamin Maidel, Philipp Schillinger, Tobias Doernbach
2.2.3 (2020-01-15)
- Increment nwjs version
- Fix documentation format warnings (see #48)
- Contributors: Philipp Schillinger
2.2.2 (2020-01-11)
- Add python-based state parser alternative (see team-vigir/flexbe_behavior_engine#93)
- Implement a quick connect when dropping a state onto a transition
- Add internal dependencies (see #39)
- Enable package cache and track update progress
- Clear outcome request on transition and explicit message
- Robustify package parser against malformed package.xml (see #37)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
genpy | |
actionlib | |
rospack | |
flexbe_onboard | |
flexbe_mirror | |
flexbe_widget | |
std_msgs | |
flexbe_msgs | |
rosunit | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/flexbe_full.launch
-
- no_app [default: false]
- launch/flexbe_ocs.launch
-
- offline [default: false]
- no_app [default: false]
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.4.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/FlexBE/flexbe_app.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-04-29 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Build you workspace:
catkin_make # or catkin build
During the build process, the required nwjs binaries are automatically downloaded and extracted.
To download the binaries manually instead, run the script bin/nwjs_install
.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
rosrun flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
rosrun flexbe_app shortcut create
rosrun flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
rosrun flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS. You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
roslaunch flexbe_app flexbe_ocs.launch
roslaunch flexbe_onboard behavior_onboard.launch # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
roslaunch flexbe_app flexbe_full.launch
Backwards Compatibility
The FlexBE App in this repository replaces the previous flexbe_chrome_app.
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States. Example: flexbe_states. Adding the above export statement is the only change to previous versions.
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
If no package in the ROS_PACKAGE_PATH
contains such an export statement, the FlexBE App will suggest to initialize one of the existing packages as behavior package. Doing so will add the export statement and create the correct structure. If the chosen package already contains behavior manifests, the referenced behaviors can be automatically imported. The old behavior packages and manifests (all manifests outside the manifest folder, e.g., those inside the behaviors folder) can be removed afterwards.
In order to create a completely new behavior package, create an empty ROS package and then use the FlexBE App to initialize it.
A behavior package is expected to provide a manifest
folder which contains the manifests for all provided behaviors. The behaviors are located in a Python module named like the package and contained in the src
folder.
Changelog for package flexbe_app
2.4.1 (2023-05-22)
- merge PR #74, 76, 77; tweak CI workflow
- Merge pull request #60 from fmessmer/fix/catkin_lint some catkin_lint fixes
- some catkin_lint fixes
- Contributors: David Conner, dcconner, fmessmer
2.4.0 (2023-05-18)
- Merge develop branch
- Updates for Melodic and Noetic releases on github.com/FlexBE
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
- Revert nwjs version increment because of Travis failure due to Chromium bug (see https://crbug.com/1025266)
- Increment nwjs version after file chooser fix
- Use HTML file chooser instead of Chrome file API for settings import and export (see #52)
- Improve cache for workspace switching and allow to disable it
- Fix detection of new packages
- Merge branch 'benmaidel-feature/cmd_option_checkbehaviors' into develop
- Always run all behavior check tests and print error message
- Robustify behavior loading for generating behavior check reports
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge remote-tracking branch 'origin/fix/handle_closed_window' into develop
- add --check-behavior command line option
- Fix support for symbolic references in Python parser
- Robustify Python parser against instantiation failures (see team-vigir/flexbe_behavior_engine#99)
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge branch 'cheffe112-bugfix-import-config' into develop
- Fix mixed indentation
- reverting nw.js to last known-to-work version From nw.js 0.42.4, the import/export configuration functionality throws an "Invalid calling page. This function can't be called from a background page." error. This has been reported for nw.js already on https://github.com/nwjs/nw.js/issues/7349. Hence, the import/export functionality is currently unusable with nw.js >0.42.3 as integrated in b93078fd6705445bf6183af40598619243800b1e.
- throw error if importing/exporting configuration crashes
- Explicitly spawn window on center position because default changed
- Allow comment after super-call in regex state parser (see team-vigir/flexbe_behavior_engine#98)
- Check for undefined transition label (fix team-vigir/flexbe_behavior_engine#100)
- Merge branch 'cheffe112-bugfix-python-parsing' into develop
- Fix mixed indentation
- bugfix: avoid crash during Python state parsing on empty documentation string The Python state parsing feature introduced in 4f20227ef900ca32e78414c190fb464d964666e5 used to crash when no docstring is provided in a state definition, hence stalling the parsing procedure. This commit returns the default label "[no documentation]" on a missing docstring.
- Contributors: Benjamin Maidel, Philipp Schillinger, Tobias Doernbach
2.2.3 (2020-01-15)
- Increment nwjs version
- Fix documentation format warnings (see #48)
- Contributors: Philipp Schillinger
2.2.2 (2020-01-11)
- Add python-based state parser alternative (see team-vigir/flexbe_behavior_engine#93)
- Implement a quick connect when dropping a state onto a transition
- Add internal dependencies (see #39)
- Enable package cache and track update progress
- Clear outcome request on transition and explicit message
- Robustify package parser against malformed package.xml (see #37)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
genpy | |
actionlib | |
rospack | |
flexbe_onboard | |
flexbe_mirror | |
flexbe_widget | |
std_msgs | |
flexbe_msgs | |
rosunit | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/flexbe_full.launch
-
- no_app [default: false]
- launch/flexbe_ocs.launch
-
- offline [default: false]
- no_app [default: false]
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 3.1.3 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-05-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Humble
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Make sure that the branches are consistent (e.g. git checkout humble
)
Install any required dependencies.
rosdep update
rosdep install --from-paths src --ignore-src
Build your workspace:
colcon build
After sourcing the new setup as normally required, you must download the required nwjs
binaries
before you can run the FlexBE App:
ros2 run flexbe_app nwjs_install
Note: These are installed in the
install
folder. If theinstall
folder is deleted, then thenwjs
binaries will need to be reinstalled with this script.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
ros2 run flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
ros2 run flexbe_app shortcut create
ros2 run flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
ros2 run flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS.
You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
ros2 launch flexbe_app flexbe_ocs.launch.py
ros2 launch flexbe_onboard behavior_onboard.launch.py # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
ros2 launch flexbe_app flexbe_full.launch.py
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States.
Example: flexbe_states
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
File truncated at 100 lines see the full file
Changelog for package flexbe_app
3.1.2 (2023-08-01)
- cleanup whitespace indents
- modify creation date handling
- only year in copyright
3.1.1 (2023-07-19)
- update checking to warn of specific errors
- modify code alignment for flake8
- add Apache default license to SM code (to do: make license text configurable)
- update cmake_minimum_version
- Add ROS Build Farm badge to README
- tweak 'is ready' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core v2.2.0+)
3.1.3 (2024-05-01)
- Add latched handling for topic
- Merge pull request #92 from pascalauembo/ros2-devel Update build_depend
- Update build_depend
- 3.1.2
- cleanup whitespace indents in manifest
- modify creation date handling; only year in copyright; clean up whitespace indents
- 3.1.1
- update checking to warn of specific errors; modify code alignment for flake8; add Apache default license to SM code (to do: make configurable); update cmake_minimum_version
- tweak 'is ready.' message to match status, not 'just started'
- handle new lines in description and indentation for xml and python comments
- handle initialize_ros() call for duplicate state names
- include package name in behavior request (requires latest flexbe_core)
- use ros2-devel targets
3.1.0 (2023-06-29)
- Update logos and CI badge
- Update to make default SM generation more compatible with ROS 2 Flake8 guidelines
- Update for cross-compatibility with (future) flexbe_webui
- Update for use_sim_time handling
- flake8, pep257, and copyright cleanup
- update CI for ros2
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
- Changed getbehaviorlist to return behavior object instead of names.
- Updated ui_panels_selectbehavior to reflect this change. Fixes bug mentioned in PR #76 in Noetic
- Updated to match noetic PR #77
- beautify from one line block
- correct semantic versioning given Noetic release
3.0.1 (2022-08-02)
- Originally tagged as 2.4.1
- ROS Humble release
- Tested on Ubuntu 22.04 and ROS Humble
- For use with ROS 2 version 2.1.x of flexbe_behavior_engine
- Includes changes sync check handling
- adds script to check for all flexbe packages
- Modify package discovery handling
- Use safe yaml loading
3.0.0 (2022-02-22)
- Originally tagged as ros2 version 2.4.0 (2022-02-22)
- Initial ROS 2 "Foxy" release
- For use with ROS 2 version 2.0.0 of flexbe_behavior_engine
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.4.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/FlexBE/flexbe_app.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-04-29 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Build you workspace:
catkin_make # or catkin build
During the build process, the required nwjs binaries are automatically downloaded and extracted.
To download the binaries manually instead, run the script bin/nwjs_install
.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
rosrun flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
rosrun flexbe_app shortcut create
rosrun flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
rosrun flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS. You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
roslaunch flexbe_app flexbe_ocs.launch
roslaunch flexbe_onboard behavior_onboard.launch # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
roslaunch flexbe_app flexbe_full.launch
Backwards Compatibility
The FlexBE App in this repository replaces the previous flexbe_chrome_app.
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States. Example: flexbe_states. Adding the above export statement is the only change to previous versions.
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
If no package in the ROS_PACKAGE_PATH
contains such an export statement, the FlexBE App will suggest to initialize one of the existing packages as behavior package. Doing so will add the export statement and create the correct structure. If the chosen package already contains behavior manifests, the referenced behaviors can be automatically imported. The old behavior packages and manifests (all manifests outside the manifest folder, e.g., those inside the behaviors folder) can be removed afterwards.
In order to create a completely new behavior package, create an empty ROS package and then use the FlexBE App to initialize it.
A behavior package is expected to provide a manifest
folder which contains the manifests for all provided behaviors. The behaviors are located in a Python module named like the package and contained in the src
folder.
Changelog for package flexbe_app
2.4.1 (2023-05-22)
- merge PR #74, 76, 77; tweak CI workflow
- Merge pull request #60 from fmessmer/fix/catkin_lint some catkin_lint fixes
- some catkin_lint fixes
- Contributors: David Conner, dcconner, fmessmer
2.4.0 (2023-05-18)
- Merge develop branch
- Updates for Melodic and Noetic releases on github.com/FlexBE
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
- Revert nwjs version increment because of Travis failure due to Chromium bug (see https://crbug.com/1025266)
- Increment nwjs version after file chooser fix
- Use HTML file chooser instead of Chrome file API for settings import and export (see #52)
- Improve cache for workspace switching and allow to disable it
- Fix detection of new packages
- Merge branch 'benmaidel-feature/cmd_option_checkbehaviors' into develop
- Always run all behavior check tests and print error message
- Robustify behavior loading for generating behavior check reports
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge remote-tracking branch 'origin/fix/handle_closed_window' into develop
- add --check-behavior command line option
- Fix support for symbolic references in Python parser
- Robustify Python parser against instantiation failures (see team-vigir/flexbe_behavior_engine#99)
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge branch 'cheffe112-bugfix-import-config' into develop
- Fix mixed indentation
- reverting nw.js to last known-to-work version From nw.js 0.42.4, the import/export configuration functionality throws an "Invalid calling page. This function can't be called from a background page." error. This has been reported for nw.js already on https://github.com/nwjs/nw.js/issues/7349. Hence, the import/export functionality is currently unusable with nw.js >0.42.3 as integrated in b93078fd6705445bf6183af40598619243800b1e.
- throw error if importing/exporting configuration crashes
- Explicitly spawn window on center position because default changed
- Allow comment after super-call in regex state parser (see team-vigir/flexbe_behavior_engine#98)
- Check for undefined transition label (fix team-vigir/flexbe_behavior_engine#100)
- Merge branch 'cheffe112-bugfix-python-parsing' into develop
- Fix mixed indentation
- bugfix: avoid crash during Python state parsing on empty documentation string The Python state parsing feature introduced in 4f20227ef900ca32e78414c190fb464d964666e5 used to crash when no docstring is provided in a state definition, hence stalling the parsing procedure. This commit returns the default label "[no documentation]" on a missing docstring.
- Contributors: Benjamin Maidel, Philipp Schillinger, Tobias Doernbach
2.2.3 (2020-01-15)
- Increment nwjs version
- Fix documentation format warnings (see #48)
- Contributors: Philipp Schillinger
2.2.2 (2020-01-11)
- Add python-based state parser alternative (see team-vigir/flexbe_behavior_engine#93)
- Implement a quick connect when dropping a state onto a transition
- Add internal dependencies (see #39)
- Enable package cache and track update progress
- Clear outcome request on transition and explicit message
- Robustify package parser against malformed package.xml (see #37)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
genpy | |
actionlib | |
rospack | |
flexbe_onboard | |
flexbe_mirror | |
flexbe_widget | |
std_msgs | |
flexbe_msgs | |
rosunit | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/flexbe_full.launch
-
- no_app [default: false]
- launch/flexbe_ocs.launch
-
- offline [default: false]
- no_app [default: false]
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.4.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/FlexBE/flexbe_app.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-04-29 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Build you workspace:
catkin_make # or catkin build
During the build process, the required nwjs binaries are automatically downloaded and extracted.
To download the binaries manually instead, run the script bin/nwjs_install
.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
rosrun flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
rosrun flexbe_app shortcut create
rosrun flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
rosrun flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS. You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
roslaunch flexbe_app flexbe_ocs.launch
roslaunch flexbe_onboard behavior_onboard.launch # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
roslaunch flexbe_app flexbe_full.launch
Backwards Compatibility
The FlexBE App in this repository replaces the previous flexbe_chrome_app.
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States. Example: flexbe_states. Adding the above export statement is the only change to previous versions.
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
If no package in the ROS_PACKAGE_PATH
contains such an export statement, the FlexBE App will suggest to initialize one of the existing packages as behavior package. Doing so will add the export statement and create the correct structure. If the chosen package already contains behavior manifests, the referenced behaviors can be automatically imported. The old behavior packages and manifests (all manifests outside the manifest folder, e.g., those inside the behaviors folder) can be removed afterwards.
In order to create a completely new behavior package, create an empty ROS package and then use the FlexBE App to initialize it.
A behavior package is expected to provide a manifest
folder which contains the manifests for all provided behaviors. The behaviors are located in a Python module named like the package and contained in the src
folder.
Changelog for package flexbe_app
2.4.1 (2023-05-22)
- merge PR #74, 76, 77; tweak CI workflow
- Merge pull request #60 from fmessmer/fix/catkin_lint some catkin_lint fixes
- some catkin_lint fixes
- Contributors: David Conner, dcconner, fmessmer
2.4.0 (2023-05-18)
- Merge develop branch
- Updates for Melodic and Noetic releases on github.com/FlexBE
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
- Revert nwjs version increment because of Travis failure due to Chromium bug (see https://crbug.com/1025266)
- Increment nwjs version after file chooser fix
- Use HTML file chooser instead of Chrome file API for settings import and export (see #52)
- Improve cache for workspace switching and allow to disable it
- Fix detection of new packages
- Merge branch 'benmaidel-feature/cmd_option_checkbehaviors' into develop
- Always run all behavior check tests and print error message
- Robustify behavior loading for generating behavior check reports
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge remote-tracking branch 'origin/fix/handle_closed_window' into develop
- add --check-behavior command line option
- Fix support for symbolic references in Python parser
- Robustify Python parser against instantiation failures (see team-vigir/flexbe_behavior_engine#99)
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge branch 'cheffe112-bugfix-import-config' into develop
- Fix mixed indentation
- reverting nw.js to last known-to-work version From nw.js 0.42.4, the import/export configuration functionality throws an "Invalid calling page. This function can't be called from a background page." error. This has been reported for nw.js already on https://github.com/nwjs/nw.js/issues/7349. Hence, the import/export functionality is currently unusable with nw.js >0.42.3 as integrated in b93078fd6705445bf6183af40598619243800b1e.
- throw error if importing/exporting configuration crashes
- Explicitly spawn window on center position because default changed
- Allow comment after super-call in regex state parser (see team-vigir/flexbe_behavior_engine#98)
- Check for undefined transition label (fix team-vigir/flexbe_behavior_engine#100)
- Merge branch 'cheffe112-bugfix-python-parsing' into develop
- Fix mixed indentation
- bugfix: avoid crash during Python state parsing on empty documentation string The Python state parsing feature introduced in 4f20227ef900ca32e78414c190fb464d964666e5 used to crash when no docstring is provided in a state definition, hence stalling the parsing procedure. This commit returns the default label "[no documentation]" on a missing docstring.
- Contributors: Benjamin Maidel, Philipp Schillinger, Tobias Doernbach
2.2.3 (2020-01-15)
- Increment nwjs version
- Fix documentation format warnings (see #48)
- Contributors: Philipp Schillinger
2.2.2 (2020-01-11)
- Add python-based state parser alternative (see team-vigir/flexbe_behavior_engine#93)
- Implement a quick connect when dropping a state onto a transition
- Add internal dependencies (see #39)
- Enable package cache and track update progress
- Clear outcome request on transition and explicit message
- Robustify package parser against malformed package.xml (see #37)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
genpy | |
actionlib | |
rospack | |
flexbe_onboard | |
flexbe_mirror | |
flexbe_widget | |
std_msgs | |
flexbe_msgs | |
rosunit | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/flexbe_full.launch
-
- no_app [default: false]
- launch/flexbe_ocs.launch
-
- offline [default: false]
- no_app [default: false]
Messages
Services
Plugins
Recent questions tagged flexbe_app at Robotics Stack Exchange
![]() |
flexbe_app package from flexbe_app repoflexbe_app |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.4.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flexbe/flexbe_app.git |
VCS Type | git |
VCS Version | noetic |
Last Updated | 2023-07-19 |
Dev Status | DEVELOPED |
CI status |
|
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Philipp Schillinger
- David Conner
Authors
- Philipp Schillinger
FlexBE App
User interface (editor + runtime control) for the FlexBE behavior engine.
Installation
Clone the following repos into your ROS workspace:
git clone https://github.com/FlexBE/flexbe_behavior_engine.git # if not already present
git clone https://github.com/FlexBE/flexbe_app.git
Build you workspace:
catkin_make # or catkin build
During the build process, the required nwjs binaries are automatically downloaded and extracted.
To download the binaries manually instead, run the script bin/nwjs_install
.
Workspace
In order to create and prepare a new repository for behavior development, run the following script in your ROS workspace and pass it the name of your project or identifier:
rosrun flexbe_widget create_repo [your_project_name]
This will initialize a new local git repository with the correct workspace structure which you can then push to a desired remote location. Make sure that you build the workspace afterwards.
Usage
If desired, run the following command to create a shortcut in the application menu:
rosrun flexbe_app shortcut create
rosrun flexbe_app shortcut remove # if you want to remove it
Use the shortcut or the following command to run the FlexBE App alone, i.e., for only developing behaviors, but not executing them:
rosrun flexbe_app run_app --offline
Omitting the --offline
arg will let the App try to connect to ROS. You can manually connect/disconnect the App in the Configuration view.
Use the following launch file to run FlexBE’s operator control station, i.e., everything FlexBE requires on the operator machine for controlling behavior execution:
roslaunch flexbe_app flexbe_ocs.launch
roslaunch flexbe_onboard behavior_onboard.launch # counterpart expected to run on the robot
Use the following launch file to run both of the above for local behavior execution:
roslaunch flexbe_app flexbe_full.launch
Backwards Compatibility
The FlexBE App in this repository replaces the previous flexbe_chrome_app.
Please note that the way how state and behavior packages are detected has changed and breaks direct compatibility. Follow the instructions below to make the required changes. Behavior packages can also be converted automatically by the new FlexBE App.
State packages
A package is a state package for FlexBE if its package.xml
declares the export of flexbe_states
:
<package>
...
<export>
<flexbe_states />
</export>
...
</package>
It is then expected to provide Python class definitions as described in Developing Basic States. Example: flexbe_states. Adding the above export statement is the only change to previous versions.
Behavior packages
A behavior package contains the code and manifest files generated by the FlexBE App. Usually, you do not need to modify it manually. Again, a behavior package is identified by an export statement in its package.xml
:
<package>
...
<export>
<flexbe_behaviors />
</export>
...
</package>
If no package in the ROS_PACKAGE_PATH
contains such an export statement, the FlexBE App will suggest to initialize one of the existing packages as behavior package. Doing so will add the export statement and create the correct structure. If the chosen package already contains behavior manifests, the referenced behaviors can be automatically imported. The old behavior packages and manifests (all manifests outside the manifest folder, e.g., those inside the behaviors folder) can be removed afterwards.
In order to create a completely new behavior package, create an empty ROS package and then use the FlexBE App to initialize it.
A behavior package is expected to provide a manifest
folder which contains the manifests for all provided behaviors. The behaviors are located in a Python module named like the package and contained in the src
folder.
Changelog for package flexbe_app
2.4.1 (2023-05-22)
- merge PR #74, 76, 77; tweak CI workflow
- Merge pull request #60 from fmessmer/fix/catkin_lint some catkin_lint fixes
- some catkin_lint fixes
- Contributors: David Conner, dcconner, fmessmer
2.4.0 (2023-05-18)
- Merge develop branch
- Updates for Melodic and Noetic releases on github.com/FlexBE
2.3.0 (2020-11-19)
- Merge remote-tracking branch 'origin/feature/python3_support' into develop
- Add support for python3
- Use correct state prefix in autocompletion (fix #65)
- Prevent module caching in Python parser to fix state reloading (see #61)
- Sort input-dependent elements for more deterministic code generation (see #team-vigir/flexbe_behavior_engine#111)
- Contributors: Philipp Schillinger
2.2.4 (2020-03-25)
- Revert nwjs version increment because of Travis failure due to Chromium bug (see https://crbug.com/1025266)
- Increment nwjs version after file chooser fix
- Use HTML file chooser instead of Chrome file API for settings import and export (see #52)
- Improve cache for workspace switching and allow to disable it
- Fix detection of new packages
- Merge branch 'benmaidel-feature/cmd_option_checkbehaviors' into develop
- Always run all behavior check tests and print error message
- Robustify behavior loading for generating behavior check reports
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge remote-tracking branch 'origin/fix/handle_closed_window' into develop
- add --check-behavior command line option
- Fix support for symbolic references in Python parser
- Robustify Python parser against instantiation failures (see team-vigir/flexbe_behavior_engine#99)
- Close window-related sub-processes also when only closing the window (see team-vigir/flexbe_behavior_engine#105)
- Merge branch 'cheffe112-bugfix-import-config' into develop
- Fix mixed indentation
- reverting nw.js to last known-to-work version From nw.js 0.42.4, the import/export configuration functionality throws an "Invalid calling page. This function can't be called from a background page." error. This has been reported for nw.js already on https://github.com/nwjs/nw.js/issues/7349. Hence, the import/export functionality is currently unusable with nw.js >0.42.3 as integrated in b93078fd6705445bf6183af40598619243800b1e.
- throw error if importing/exporting configuration crashes
- Explicitly spawn window on center position because default changed
- Allow comment after super-call in regex state parser (see team-vigir/flexbe_behavior_engine#98)
- Check for undefined transition label (fix team-vigir/flexbe_behavior_engine#100)
- Merge branch 'cheffe112-bugfix-python-parsing' into develop
- Fix mixed indentation
- bugfix: avoid crash during Python state parsing on empty documentation string The Python state parsing feature introduced in 4f20227ef900ca32e78414c190fb464d964666e5 used to crash when no docstring is provided in a state definition, hence stalling the parsing procedure. This commit returns the default label "[no documentation]" on a missing docstring.
- Contributors: Benjamin Maidel, Philipp Schillinger, Tobias Doernbach
2.2.3 (2020-01-15)
- Increment nwjs version
- Fix documentation format warnings (see #48)
- Contributors: Philipp Schillinger
2.2.2 (2020-01-11)
- Add python-based state parser alternative (see team-vigir/flexbe_behavior_engine#93)
- Implement a quick connect when dropping a state onto a transition
- Add internal dependencies (see #39)
- Enable package cache and track update progress
- Clear outcome request on transition and explicit message
- Robustify package parser against malformed package.xml (see #37)
File truncated at 100 lines see the full file
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
rospy | |
genpy | |
actionlib | |
rospack | |
flexbe_onboard | |
flexbe_mirror | |
flexbe_widget | |
std_msgs | |
flexbe_msgs | |
rosunit | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/flexbe_full.launch
-
- no_app [default: false]
- launch/flexbe_ocs.launch
-
- offline [default: false]
- no_app [default: false]