Modelling reversible execution of robotic assembly

Johan Sund Laursen*, Lars Peter Ellekilde, Ulrik Pagh Schultz

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

277 Downloads (Pure)


Programming robotic assembly for industrial small-batch production is challenging; hence, it is vital to increase robustness and reduce development effort in order to achieve flexible robotic automation. A human who has made an assembly error will often simply undo the process until the error is undone and then restart the assembly. Conceptually, robots could do the same. This paper introduces a programming model that enables robot assembly programs to be executed in reverse. We investigate the challenges in running robot programs backwards and present a classification of reversibility characteristics. We demonstrate how temporarily switching the direction of program execution can be an efficient error recovery mechanism. Moreover, we demonstrate additional benefits arising from supporting reversibility in an assembly language, such as increased code reuse and automatically derived disassembly sequences. As a default approach to reversibility, we use program inversion and statement-level inversion of commands, but with a novel override option providing alternative sequences for asymmetric reverse actions. To efficiently program for this model, this paper introduces a new domain-specific language, SCP-RASQ (Simple C++ Reversible Assembly SeQuences). In initial experiments, where 200 consecutive assemblies of two industrial cases were performed, 18 of 22 errors were corrected automatically using only the trial-and-error capabilities that come from reverse execution.

Original languageEnglish
Issue number5
Pages (from-to)625-654
Publication statusPublished - 2018


  • Assembly and disassembly
  • Domain-specific programming language
  • Error recovery
  • Reversible computing
  • Robot software architectures


Dive into the research topics of 'Modelling reversible execution of robotic assembly'. Together they form a unique fingerprint.

Cite this