A Lightweight Finite State Machine C++ Library aimed at Seamless Integration with Robotic Middlewares [Online]
Towards Humanoid Robots OS Workshop at HUMANOIDS 2016

Robotics is being heavily integrated in a great number of daily-life applications, such as domestic assistance, autonomous driving, and healthcare. Other applications, such as entertainment, are beginning to integrate robotic elements. A robotic behavior, however complex, can in general be modelled and implemented as a Finite State Machine (FSM). While these robotic behaviors may typically be implemented using high-level scripting languages such as Lua or Python, or even proprietary solutions, a set of use cases where the efficiency of C++ must be invoked exist. The use case presented in this paper is Robot Devastation, a video-game that combines Augmented Reality elements with robots to emulate combats between robots. Robot Devastation strives for code efficiency to enhance the end-user game play experience. In this work, we present the lightweight reusable C++ library that has been developed for implementing its FSM, reluctantly called StateMachineLib within the rd:: namespace. Aimed at seamless integration with robotic middlewares, let its current loosely coupled integration with the well-known robotic platform YARP serve as a living example its flexibility and usefulness.

First page
Last page