SMACC – State Machine Asynchronous C++

An Event-Driven, Asynchronous, Behavioral State Machine Library for real-time ROS (Robotic Operating System) applications written in C++

Skip to content
  • About
    • Contributors
    • License
    • Contact Us
  • Theory
    • Target Robot Platforms
    • Behavioral vs Protocol State Machines
    • The Synthesis of SMACC
  • Comparisons
    • Statechart vs MSM
    • SMACC vs Behavior trees
    • Coroutines
  • Concepts
    • Intro to Substate Objects
    • Orthogonals
    • Event Model
    • Clients
    • Client Behaviors
    • Hierarchical States
    • Threading Model
    • Exceptions
  • Tutorials
    • Getting Started
    • Naming Convention
    • SMACC States
    • Transitions
    • Order of Function Calls
    • State Reactors
    • Using ROS Parameters to define State Behavior
  • Resources
    • Boost Statechart Basics
    • Async State Machines
    • Boost Statechart Advanced
    • actionlib
  • Finer Points
    • Rules for Good SMACC Programming
    • History State Declaration Order
    • On creating clients
  • SMACC Viewer
    • SMACC Viewer
    • SMACC RViz Plugin
  • GitHub
    • GitHub Repo
  • Robots
    • Gallery
  • YouTube
  • Active Topics
    • To Do
    • The Next Big Push
    • MoveIt
    • LTTng
    • Custom Allocation
    • ROS 2
    • Real-time Roadmap
    • SMACC Automated Run-time Testing
    • Operation DB-AI
  • New Clients
    • MoveEyes/MoveEyesZ
    • Head Client
    • Perception Client
    • Fixed-Wing UAV
    • Rotorwing UAV – Ardupilot
    • Legged Robots
  • Inactive Topics
  • ROS Answers
  • News
    • ROS Discourse – SMACC Announcement
    • ROS Developers Podcast #74
    • ROS Discourse – MGI Announcement

actionlib

http://wiki.ros.org/actionlib

http://wiki.ros.org/actionlib/DetailedDescription

http://wiki.ros.org/actionlib_tutorials/Tutorials/Writing%20a%20Callback%20Based%20Simple%20Action%20Client#But_I_want_to_use_Classes.21

Calling Actions from a SMACH state machine
The goal messages and action interfaces for states…
http://wiki.ros.org/smach/Tutorials/Calling%20Actions

http://wiki.ros.org/actionlib/DetailedDescription#Threading%20Model%20(C++) – Threading

https://answers.ros.org/question/220181/how-to-safely-use-actionlibs-goal-handles-in-a-real-time-concurrent-system/

Simple Action Client – Doxygen
http://docs.ros.org/melodic/api/actionlib/html/classactionlib_1_1SimpleActionClient.html

Simple Action Server – Doxygen
http://docs.ros.org/melodic/api/actionlib/html/classactionlib_1_1SimpleActionServer.html

http://docs.ros.org/melodic/api/actionlib/html/simple__action__server__imp_8h_source.html

actionlib_msgs/GoalStatus
http://docs.ros.org/melodic/api/actionlib_msgs/html/msg/GoalStatus.html

Proudly powered by WordPress