Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/html/roboticslab/wp-includes/functions.php on line 6121
A Lightweight Finite State Machine C++ Library aimed at Seamless Integration with Robotic Middlewares - RoboticsLab

A Lightweight Finite State Machine C++ Library aimed at Seamless Integration with Robotic Middlewares

Description

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.