SMACHA : An API for Rapid State Machine Assembly

Oct 1, 2017·
Barry Ridge
· 1 min read
State Machine Assembler (SMACHA) API Overview.
Abstract
Given the burgeoning complexity and diversity of both the hardware and software components of robotic systems, software libraries that use state machines as a basis for robot control by seamlessly connecting between low-level imperative task scripting and higher-level task planning have been in active development over the past decade or so. However, while they provide much in terms of power and flexibility, their overall task-level simplicity can often be obfuscated at the script-level by boilerplate code, intricate structure and lack of code reuse between state machine prototypes. To address these issues, we propose a code generation, templating and meta-scripting methodology for state machine assembly, as well as an accompanying application programming interface (API) for the rapid, modular development of robot control programs. The API has been developed within the ROS ecosystem to function effectively as either a front-end for concise scripting or a back-end for code generation for visual programming systems. Its capabilities are demonstrated in experiments using the Baxter robot simulator.
Type
Publication
20th International Multiconference Information Society (IS): Robotics

Video