{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,5]],"date-time":"2026-03-05T18:24:52Z","timestamp":1772735092510,"version":"3.50.1"},"reference-count":50,"publisher":"Cambridge University Press (CUP)","issue":"5","license":[{"start":{"date-parts":[[2018,1,11]],"date-time":"2018-01-11T00:00:00Z","timestamp":1515628800000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Robotica"],"published-print":{"date-parts":[[2018,5]]},"abstract":"<jats:title>SUMMARY<\/jats:title><jats:p>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.<\/jats:p>","DOI":"10.1017\/s0263574717000613","type":"journal-article","created":{"date-parts":[[2018,1,11]],"date-time":"2018-01-11T07:00:43Z","timestamp":1515654043000},"page":"625-654","source":"Crossref","is-referenced-by-count":37,"title":["Modelling reversible execution of robotic assembly"],"prefix":"10.1017","volume":"36","author":[{"given":"Johan Sund","family":"Laursen","sequence":"first","affiliation":[]},{"given":"Lars-Peter","family":"Ellekilde","sequence":"additional","affiliation":[]},{"given":"Ulrik Pagh","family":"Schultz","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2018,1,11]]},"reference":[{"key":"S0263574717000613_ref22","unstructured":"B. R. Donald , \u201cError detection and recovery for robot motion planning with uncertainty,\u201d Technical Report (Massachusetts Institute of Technology, 1987)."},{"key":"S0263574717000613_ref4","doi-asserted-by":"crossref","unstructured":"B. Zhang , J. Wang , G. Rossano , and C. Martinez , \u201cVision-Guided Robotic Assembly Using Uncalibrated Vision,\u201d Proceedings of the 2011 IEEE International Conference on Mechatronics and Automation (ICMA) (Aug 2011) pp. 1384\u20131389.","DOI":"10.1109\/ICMA.2011.5985778"},{"key":"S0263574717000613_ref26","first-page":"1","article-title":"Robotics API: Object-oriented software development for industrial robots","volume":"4","author":"Angerer","year":"2013","journal-title":"J. Softw. Eng. Robot."},{"key":"S0263574717000613_ref45","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36315-3_8"},{"key":"S0263574717000613_ref50","volume-title":"Industrial Assembly Cases","author":"Ellekilde","year":"2016"},{"key":"S0263574717000613_ref48","unstructured":"J. Szalatkiewicz , \u201cRobotic Disassembly of the Waste of Electrical and Electronic Equipment, Based on the Criteria of Identification and Analysis of Waste Characteristics, Presented on the Example of Computer Hard Disk Drives,\u201d Proceedings of International Conference on Product Life Cycle Management (PLM '11) (2011) pp. 287\u2013294."},{"key":"S0263574717000613_ref38","doi-asserted-by":"crossref","unstructured":"B. Stoddart , R. Lynas and F. Zeyda , \u201cA virtual machine for supporting reversible probabilistic guarded command languages,\u201d Proceedings of the International Conference on Reversible Computation (RC '09), Electronic Notes in Theoretical Computer Science, vol. 253, no. 6 (2010) pp. 33\u201356.","DOI":"10.1016\/j.entcs.2010.02.005"},{"key":"S0263574717000613_ref33","unstructured":"S. B\u00f8gh , O. S. Nielsen , M. R. Pedersen , V. Kr\u00fcger , and O. Madsen, \u201cDoes Your Robot Have Skills?\u201d Proceedings of the 43rd International Symposium on Robotics (VDE Verlag GMBH, 2012)."},{"key":"S0263574717000613_ref17","doi-asserted-by":"crossref","unstructured":"R. Canham , A. Jackson , and A. Tyrrell , \u201cRobot error detection using an artificial immune system,\u201d Proceedings of the NASA\/DoD Conference on Evolvable Hardware (Jul. 2003) pp. 199\u2013207.","DOI":"10.1109\/EH.2003.1217667"},{"key":"S0263574717000613_ref46","first-page":"173","article-title":"A Framework for Using Cognitive Robotics in Disassembly Automation","volume":"19","author":"Vongbunyong","year":"2012","journal-title":"Proceedings of the 19th CIRP Conference on Life Cycle Engineering"},{"key":"S0263574717000613_ref13","doi-asserted-by":"crossref","unstructured":"J. P. Buch , L. C. S\u00f8rensen , D. Kraft , and H. G. Petersen , \u201cFacilitating Robotic Subtask Reuse by a New Representation of Parametrized Solutions,\u201d Proceedings of the 13th International Conference on Informatics in Control, Automation and Robotics (2016) pp. 37\u201348.","DOI":"10.5220\/0005964100370048"},{"key":"S0263574717000613_ref6","doi-asserted-by":"publisher","DOI":"10.1108\/01445150710763277"},{"key":"S0263574717000613_ref15","doi-asserted-by":"publisher","DOI":"10.1007\/s10514-007-9060-9"},{"key":"S0263574717000613_ref9","doi-asserted-by":"crossref","first-page":"43","DOI":"10.1145\/1366230.1366239","volume-title":"Proceedings of the Conference on Computing Frontiers (CF)","author":"Yokoyama","year":"2008"},{"key":"S0263574717000613_ref27","doi-asserted-by":"crossref","unstructured":"A. Nordmann , N. Hochgeschwender and S. Wrede , \u201cA Survey on Domain-Specific Languages in Robotics,\u201d Proceedings of the 4th International Conference Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR 2014 (2014) pp. 195\u2013206.","DOI":"10.1007\/978-3-319-11900-7_17"},{"key":"S0263574717000613_ref18","doi-asserted-by":"publisher","DOI":"10.1080\/00207540412331299620"},{"key":"S0263574717000613_ref3","unstructured":"S. J\u00f6rg , J. Langwald , J. Stelter , G. Hirzinger , and C. Natale , \u201cFlexible Robot-Assembly Using a Multi-Sensory Approach,\u201d Proceedings of the 2000 IEEE International Conference on Robotics and Automation (2000) pp. 3687\u20133694."},{"key":"S0263574717000613_ref24","volume-title":"Kuka System Software 5.5","year":"2010"},{"key":"S0263574717000613_ref36","doi-asserted-by":"crossref","unstructured":"D. Hofmann , H. Huang and G. Reinhart , \u201cAutomated shape optimization of orienting devices for vibratory bowl feeders,\u201d 135, 119\u2013126 (Oct. 2013).","DOI":"10.1115\/1.4025089"},{"key":"S0263574717000613_ref2","unstructured":"Robotics VO, A Roadmap for U.S. Robotics from Internet to Robotics, University of California San Diego, CA, United States (2016)."},{"key":"S0263574717000613_ref5","doi-asserted-by":"publisher","DOI":"10.1108\/01439911211217125"},{"key":"S0263574717000613_ref49","volume-title":"Comprehensive Information Chain for Automated Disassembly of Obsolete Technical Appliances","author":"Scharke","year":"2003"},{"key":"S0263574717000613_ref16","doi-asserted-by":"publisher","DOI":"10.1088\/1748-3190\/10\/1\/016014"},{"key":"S0263574717000613_ref29","unstructured":"J. S. Laursen , J. P. Buch , L. C. S\u00f8rensen , D. Kraft , H. G. Petersen , L.-P. Ellekilde , and U. P. Schultz , \u201cTowards error handling in a DSL for robot assembly tasks,\u201d Proceedings of the DSLRob '14 (2014) arXiv:1412.4538."},{"key":"S0263574717000613_ref40","doi-asserted-by":"publisher","DOI":"10.1109\/52.88940"},{"key":"S0263574717000613_ref21","doi-asserted-by":"publisher","DOI":"10.1243\/0954405041486019"},{"key":"S0263574717000613_ref10","doi-asserted-by":"crossref","unstructured":"U. P. Schultz , J. S. Laursen , L.-P. Ellekilde , and H. B. Axelsen , \u201cTowards a domain-specific language for reversible assembly sequence,\u201d Proceedings of the 7th International Conference on Reversible Computation (RC 2015), Grenoble, France, July 16\u201317, (2015) ( K. Jean and S. Jean-Bernard , eds.), Vol. 9138 (Springer International Publishing, 2015) pp. 111\u2013126.","DOI":"10.1007\/978-3-319-20860-2_7"},{"key":"S0263574717000613_ref32","doi-asserted-by":"crossref","unstructured":"A. Wahrburg , S. Zeiss , B. Matthias , J. Peters , and H. Ding , \u201cCombined Pose-Wrench and State Machine Representation for Modeling Robotic Assembly Skills,\u201d Proceedings of the IEEE\/RSJ Conference on Intelligent Robots and Systems (2015).","DOI":"10.1109\/IROS.2015.7353471"},{"key":"S0263574717000613_ref23","volume-title":"Domain-Specific Languages","author":"Fowler","year":"2011"},{"key":"S0263574717000613_ref25","volume-title":"Introduction to Rapid Programming \u2013 Operating Manual","year":"2012"},{"key":"S0263574717000613_ref30","doi-asserted-by":"crossref","unstructured":"N. Hochgeschwender , S. Schneider , H. Voos , and G. K. Kraetzschmar , \u201cDeclarative Specification of Robot Perception Architectures,\u201d Proceedings of the 4th International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR (2014) pp. 291\u2013302.","DOI":"10.1007\/978-3-319-11900-7_25"},{"key":"S0263574717000613_ref28","unstructured":"T. Buchmann , J. Baumgartl , D. Henrich , and B. Westfechtel , \u201cTowards a Domain-Specific Language for Pick-and-Place Applications,\u201d Proceedings of the 4th International Workshop on Domain-Specific Languages and Models for ROBotic Systems (DSLRob-13) (2014)."},{"key":"S0263574717000613_ref31","unstructured":"J. Huckaby and H. Christensen , \u201cA taxonomic framework for task modeling and knowledge transfer in manufacturing robotics,\u201d AAAI Workshops at the Twenty-Sixth AAAI Conference on Artificial Intelligence Association for the Advancement of Artificial Intelligence, CA, US (2012)."},{"key":"S0263574717000613_ref20","doi-asserted-by":"crossref","unstructured":"C. Baydar and K. Saitou , \u201cOff-line Error Prediction, Diagnosis and Recovery Using Virtual Assembly Systems,\u201d Proceedings of the 2001 IEEE International Conference on Robotics and Automation (ICRA), Vol. 1 (2001) pp. 818\u2013823.","DOI":"10.1109\/ROBOT.2001.932651"},{"key":"S0263574717000613_ref34","doi-asserted-by":"crossref","unstructured":"R. E. Fikes and N. J. Nilsson , \u201cStrips: A New Approach to the Application of Theorem Proving to Problem Solving,\u201d Proceedings of the 2nd International Joint Conference on Artificial Intelligence (IJCAI' 71) (San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1971) pp. 608\u2013620. Available: http:\/\/dl.acm.org\/citation.cfm?id=1622876.1622939","DOI":"10.1016\/0004-3702(71)90010-5"},{"key":"S0263574717000613_ref1","unstructured":"Sparc, EU Robotics AISBL, Robotics 2020. Multi-Annual Roadmap\u2013-For Robotics in Europe, Brussels, (EU Robotics AISBL, 2014)."},{"key":"S0263574717000613_ref35","doi-asserted-by":"crossref","unstructured":"C. R. Garrett et al. \u201cBackward-forward search for manipulation planning,\u201d Proceedings of the IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS) (2015). Available: http:\/\/lis.csail.mit.edu\/pubs\/garrett-iros15.pdf","DOI":"10.1109\/IROS.2015.7354287"},{"key":"S0263574717000613_ref37","doi-asserted-by":"publisher","DOI":"10.1080\/00207540110038487"},{"key":"S0263574717000613_ref43","unstructured":"ABB Robotics, \u201cRapid overview - technical reference manual,\u201d (2004)."},{"key":"S0263574717000613_ref42","volume-title":"Operators Manual \u2013 R-J3iC Controller Arc Tool","year":"2006"},{"key":"S0263574717000613_ref44","doi-asserted-by":"publisher","DOI":"10.1017\/S0263574710000664"},{"key":"S0263574717000613_ref19","doi-asserted-by":"crossref","unstructured":"Y. Wang , J. Cai , Y. Wang , Y. Hu , R. Xiong , Y. Liu , J. Zhang , and L. Qi , \u201cProbabilistic Graph Based Spatial Assembly Relation Inference for Programming of Assembly Task by Demonstration,\u201d Proceedings of the IEEE\/RSJ Conference on Intelligent Robots and Systems (2015) pp. 4402\u20134407.","DOI":"10.1109\/IROS.2015.7354002"},{"key":"S0263574717000613_ref7","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-11900-7_8"},{"key":"S0263574717000613_ref14","unstructured":"P. Loborg , Error Recovery Support in Manufacturing Control Systems Ph.D. Thesis (School of Engineering at Link\u00f6ping University, 1994)."},{"key":"S0263574717000613_ref41","unstructured":"H. M\u00fche , A. Angerer , A. Hoffmann and W. Reif , \u201cOn reverse-engineering the Kuka robot language,\u201d 1st International Workshop on Domain-Specific Languages and Models for ROBotic Syst. (2010)."},{"key":"S0263574717000613_ref47","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1007\/978-3-319-15183-0_3","volume-title":"Disassembly Automation","author":"Vongbunyong","year":"2015"},{"key":"S0263574717000613_ref12","doi-asserted-by":"crossref","unstructured":"U. Thomas , G. Hirzinger , B. Rumpe , C. Schulze , and A. Wortmann , \u201cA New Skill Based Robot Programming Language Using uml\/p Statecharts,\u201d Proceedings of the IEEE International Conference on Robotics and Automation (ICRA) (2013) pp. 461\u2013466.","DOI":"10.1109\/ICRA.2013.6630615"},{"key":"S0263574717000613_ref11","doi-asserted-by":"crossref","unstructured":"J. S. Laursen , U. P. Schultz , and L.-P. Ellekilde , \u201cAutomatic Error Recovery in Robot Assembly Operations Using Reverse Execution,\u201d Proceedings of the IEEE\/RSJ International Conference on Intelligent Robots and Systems (IROS) (2015).","DOI":"10.1109\/IROS.2015.7353609"},{"key":"S0263574717000613_ref8","doi-asserted-by":"publisher","DOI":"10.1109\/IROS.2015.7353743"},{"key":"S0263574717000613_ref39","doi-asserted-by":"publisher","DOI":"10.1147\/rd.456.0807"}],"container-title":["Robotica"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0263574717000613","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,30]],"date-time":"2023-08-30T15:37:16Z","timestamp":1693409836000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0263574717000613\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,1,11]]},"references-count":50,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2018,5]]}},"alternative-id":["S0263574717000613"],"URL":"https:\/\/doi.org\/10.1017\/s0263574717000613","relation":{},"ISSN":["0263-5747","1469-8668"],"issn-type":[{"value":"0263-5747","type":"print"},{"value":"1469-8668","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,1,11]]}}}