A virtual machine-based approach for fast and flexible reprogramming of modular robots

Modular robot programming spans a number of issues ranging from high-level coordination to controller distribution and update in individual modules. The latter issue has received little attention from the research community though in our experience it is one of the main factors hindering agile development and experimentation with physical robots: reprogramming tens or hundreds of modules can be a major overhead in the development process and cannot be done with traditional approaches without restarting the robot, which impedes updating a running system. We propose a solution based on a virtual machine design shaped around three core concepts: the context of a module and its role in the ensemble, the reactive nature of robot controllers, and control programs decomposable into subparts that can be dynamically and separately redefined. We show that by incorporating those concepts into the design we are able to both achieve program conciseness (thus providing fast and efficient code distribution) and program expressiveness (thus providing versatility to represent diverse control algorithms). The virtual machine is programmed in a high-level role-oriented language that allows the programmer to declaratively specify how programs are deployed in the modular robot. Our approach enables fast and incremental on-line updates, allowing the programmer to interactively experiment with the physical robots. We show how this design lends itself to an efficient implementation targeting typical resource-constrained modular robotic hardware by illustrating our prototype implementation for the ATRON self-reconfigurable robot.

[1]  David Johan Christensen,et al.  A unified simulator for Self-Reconfigurable Robots , 2008, 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[2]  Seth Copen Goldstein,et al.  Meld: A declarative approach to programming ensembles , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[3]  David Johan Christensen,et al.  Exploit Morphology to Simplify Docking of Self-reconfigurable Robots , 2008, DARS.

[4]  Gregory S. Chirikjian,et al.  Modular Self-Reconfigurable Robot Systems [Grand Challenges of Robotics] , 2007, IEEE Robotics & Automation Magazine.

[5]  Mark Moll,et al.  SUPERBOT: A Deployable, Multi-Functional, and Modular Self-Reconfigurable Robotic System , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[6]  Ying Zhang,et al.  An XML-based Scripting Language for Chain-type Modular Robotic Systems , 2003 .

[7]  Kasper Stoy,et al.  Towards interactive programming of modular robots , 2008 .

[8]  Wei-Min Shen,et al.  Using role-based control to produce locomotion in chain-type self-reconfigurable robots , 2002 .

[9]  Seth Copen Goldstein,et al.  Programming modular robots with locally distributed predicates , 2008, 2008 IEEE International Conference on Robotics and Automation.

[10]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[11]  Peter Membrey,et al.  The Linux Kernel , 2009 .

[12]  Hod Lipson,et al.  Molecubes: An Open-Source Modular Robotics Kit , 2007 .

[13]  Chenyang Lu,et al.  Dynamic Resource Management in a Static Network Operating System , 2006 .

[14]  David Johan Christensen,et al.  Morphology Independent Learning in Modular Robots , 2008, DARS.

[15]  Ulrik Pagh Schultz,et al.  Implementing Flexible Parallelism for Modular Self-reconfigurable Robots , 2008 .

[16]  Ulrik Pagh Schultz Distributed control diffusion: towards a flexible programming paradigm for modular robots , 2007 .

[17]  Berthold Bäuml,et al.  Agile Robot Development (aRD): A Pragmatic Approach to Robotic Software , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[18]  Henrik Hautop Lund,et al.  Modular ATRON: modules for a self-reconfigurable robot , 2004, 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566).

[19]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.