EmSBot: A modular framework supporting the development of swarm robotics applications

Component-based approaches are prevalent in software development for robotic applications due to their reusability and productivity. In this article, we present an Embedded modular Software framework for a networked roBoTic system (EmSBoT) targeting resource-constrained devices such as microcontroller-based robots. EmSBoT is primarily built upon μCOS-III with real-time support. However, its operating system abstraction layer makes it available for various operating systems. It employs a unified port-based communication mechanism to achieve message passing while hiding the heterogeneous distributed environment from applications, which also endows the framework with fault-tolerant capabilities. We describe the design and core features of the EmSBoT framework in this article. The implementation and experimental evaluation show its availability with small footprint size, effectiveness, and OS independence.

[1]  Francesco Mondada,et al.  Scripting the swarm: event-based control of microcontroller-based robots. , 2008 .

[2]  Takashi Suehiro,et al.  A Software Platform for Component Based RT-System Development: OpenRTM-Aist , 2008, SIMPAR.

[3]  Sang Hyuk Son,et al.  Fault Management of Robot Software Components Based on OPRoS , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[4]  Matthieu Herrb,et al.  GenoM3: Building middleware-independent robotic components , 2010, 2010 IEEE International Conference on Robotics and Automation.

[5]  Alessandro Saffiotti,et al.  Network robot systems , 2008, Robotics Auton. Syst..

[6]  Martin Timmerman,et al.  Linux PREEMPT-RT v2.6.33 versus v3.6.6: better or worse for real-time applications? , 2014, SIGBED.

[7]  Chih-Han Yu,et al.  A Self-adaptive Framework for Modular Robots in a Dynamic Environment: Theory and Applications , 2011, Int. J. Robotics Res..

[8]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[9]  Vijay Kumar,et al.  Cooperative Grasping and Transport Using Multiple Quadrotors , 2010, DARS.

[10]  Andrea Bonarini,et al.  R2P: An open source hardware and software modular approach to robot prototyping , 2014, Robotics Auton. Syst..

[11]  Gwangil Jeon,et al.  The robot software communications architecture (RSCA): embedded middleware for networked service robots , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[12]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[13]  Robert Fitch,et al.  Experiments with a zigbee wireless communication system for self-reconfiguring modular robots , 2009, 2009 IEEE International Conference on Robotics and Automation.

[14]  Eliseo Ferrante,et al.  Swarmanoid: A Novel Concept for the Study of Heterogeneous Robotic Swarms , 2013, IEEE Robotics & Automation Magazine.

[15]  Fernando Díaz del Río,et al.  Robotics software frameworks for multi-agent robotic systems development , 2012, Robotics Auton. Syst..

[16]  Tarek M. Sobh,et al.  Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography , 2012, J. Robotics.

[17]  Domenico Prattichizzo,et al.  Discussion of paper by , 2003 .

[18]  Seung-Ik Lee,et al.  OPRoS: A New Component‐Based Robot Software Platform , 2010 .

[19]  Horst-Michael Groß,et al.  MIRA - middleware for robotic applications , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[20]  Hans Utz,et al.  Miro - middleware for mobile robot applications , 2002, IEEE Trans. Robotics Autom..

[21]  Matthias Scheutz,et al.  Development environments for autonomous mobile robots: A survey , 2007, Auton. Robots.

[22]  Luca Maria Gambardella,et al.  c ○ 2004 Kluwer Academic Publishers. Manufactured in The Netherlands. Swarm-Bot: A New Distributed Robotic Concept , 2022 .

[23]  Jeffrey J. Biesiadecki,et al.  Athlete: A cargo handling and manipulation robot for the moon , 2007, J. Field Robotics.

[24]  Bruce A. MacDonald,et al.  Player 2.0: Toward a Practical Robot Programming Framework , 2008 .

[25]  Daniele Nardi,et al.  OpenRDK: A modular framework for robotic software development , 2008, 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[26]  Woong-Kee Loh,et al.  A Framework-Based Approach for Fault-Tolerant Service Robots , 2012 .

[27]  Long Peng,et al.  Behaviour and performance comparison between FreeRTOS and µC/OS-III , 2016, Int. J. Embed. Syst..

[28]  Karsten Berns,et al.  On Software Quality-motivated Design of a Real-time Framework for Complex Robot Control Systems , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[29]  Javaid Iqbal,et al.  On the Improvement of Multi-Legged Locomotion over Difficult Terrains Using a Balance Stabilization Method: , 2012 .

[30]  Rosbi Mamat,et al.  A Component-Oriented Programming for Embedded Mobile Robot Software , 2007 .

[31]  Stefan Kowalewski,et al.  Predictable Broadcasting of Parallel Intents in Real-Time Android , 2014, JTRES '14.

[32]  S Magnenat,et al.  ASEBA: A Modular Architecture for Event-Based Control of Complex Robots , 2011, IEEE/ASME Transactions on Mechatronics.

[33]  Edwin Olson,et al.  LCM: Lightweight Communications and Marshalling , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[34]  Mohammad H. Mahoor,et al.  ReFrESH: A self-adaptation framework to support fault tolerance in field mobile robots , 2014, 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[35]  Marc Pollefeys,et al.  PX4: A node-based multithreaded open source robotics framework for deeply embedded platforms , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).