Home

Awesome

Continuous Integration:

ROS DistroCode Format & QualityDocumentationBinary Packages
MelodicCode Format & QualityDoxygen <br/> <a href="https://robosoft-ai.github.io/smacc_doxygen/melodic/html/namespaces.html">doxygen</a>Build Status<br/>bloom-release<br/>SMACC
NoeticCode Format & QualityDoxygen <br/> <a href="https://robosoft-ai.github.io/smacc_doxygen/noetic/html/namespaces.html">doxygen</a>Build Status<br/>bloom-release <br/>SMACC

Docker Containers

Docker Automated build Docker Pulls Docker Stars

<img src="http://smacc.dev/wp-content/uploads/2019/07/SMACC-Logo-Pixelate-4-copy.png" width="30" align="left"/> SMACC

SMACC is an event-driven, asynchronous, behavioral state machine library for real-time ROS (Robotic Operating System) applications written in C++, designed to allow programmers to build robot control applications for multicomponent robots, in an intuitive and systematic manner.

SMACC was inspired by Harel's statecharts and the SMACH ROS package. SMACC is built on top of the Boost StateChart library.

Features

SMACC applications

From it's inception, SMACC was written to support the programming of multi-component, complex robots. If your project involves small, solar-powered insect robots, that simply navigate towards a light source, then SMACC might not be the right choice for you. But if you are trying to program a robot with a mobile base, a robotic arm, a gripper, two lidar sensors, a gps transceiver and an imu, then you've come to the right place.

Getting Started

The easiest way to get started is by selecting one of the state machines in our reference library, and then hacking it to meet your needs.

Each state machine in the reference library comes with it's own README.md file, which contains the appropriate operating instructions, so that all you have to do is simply copy & paste some commands into your terminal.

Operating instructions can be found in each reference state machines readme file. Happy Coding.

Support

If you are interested in getting involved or need a little support, feel free to contact us by emailing brett@robosoft.ai