On reverse-engineering the KUKA Robot Language

Most commercial manufacturers of industrial robots require their robots to be programmed in a proprietary language tailored to the domain - a typical domain-specific language (DSL). However, these languages oftentimes suffer from shortcomings such as controller-specific design, limited expressiveness and a lack of extensibility. For that reason, we developed the extensible Robotics API for programming industrial robots on top of a general-purpose language. Although being a very flexible approach to programming industrial robots, a fully-fledged language can be too complex for simple tasks. Additionally, legacy support for code written in the original DSL has to be maintained. For these reasons, we present a lightweight implementation of a typical robotic DSL, the KUKA Robot Language (KRL), on top of our Robotics API. This work deals with the challenges in reverse-engineering the language and mapping its specifics to the Robotics API. We introduce two different approaches of interpreting and executing KRL programs: tree-based and bytecode-based interpretation.

[1]  Andreas Angerer,et al.  The Robotics API: An object-oriented framework for modeling industrial robotics applications , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[2]  Andreas Angerer,et al.  Interfacing industrial robots using Realtime Primitives , 2010, 2010 IEEE International Conference on Automation and Logistics.

[3]  Jack Shirazi Java Performance Tuning , 2000 .

[4]  Geoffrey Biggs,et al.  A Survey of Robot Programming Systems , 2010 .

[5]  Andreas Angerer,et al.  Hiding real-time: A new approach for the software development of industrial robots , 2009, 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[6]  Terence Parr Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages , 2009 .

[7]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

[8]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[9]  Russell W. Quong,et al.  ANTLR: A predicated‐LL(k) parser generator , 1995, Softw. Pract. Exp..