A state-machine framework for ROS2-based applications written in C++.
ROS2 Distro | Branch | Build status | Documentation | Released packages |
---|---|---|---|---|
Galactic | galactic |
|
Generated Doc |
smacc2 smacc2_msgs |
Rolling | rolling |
|
Generated Doc |
smacc2 smacc2_msgs |
NOTE: There are three build stages checking current and future compatibility of the package.
-
Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.
Uses repos file:
src/SMACC2/SMACC2-not-released.<ros-distro>.repos
-
Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source. Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.
Uses repos file:
src/SMACC2/SMACC2.repos
-
Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
smacc2
- core library of SMACC2.smacc2_ci
- ...smacc2_client_library
- client libraries for SMACC2, e.g., Navigation2 (nav2z_client
), MoveIt2 (move_group_interface_client
).smacc2_event_generators
- ...smacc2_msgs
- ROS2 messages for SMACC2 framework.smacc2_sm_reference_library
- libraries with reference implementations of state-machines used for demonstaration and testing of functionalities.↓smacc2_state_reactor_library
- ...smacc2_performance_tools
- ...
-
Make sure that
colcon
, its extensions andvcs
are installed:sudo apt install python3-colcon-common-extensions python3-vcstool
-
Create a new ROS2 workspace:
export COLCON_WS=~/workspace/rolling_ws mkdir -p $COLCON_WS/src
-
Pull relevant packages, install dependencies, compile, and source the workspace by using