Abstract
Typically, development of robot behavior entails writing the code, deploying it on a simulator or robot and running it for testing. If this feedback reveals errors, the programmer mentally needs to map the error in behavior back to the source code that caused it before being able to fix it. This process suffers from a large cognitive distance between the code and the resulting behavior, which slows down development and can make experimentation with different behaviors prohibitively expensive. In contrast, Live Programming tightens the feedback loop, minimizing cognitive distance. As a result, programmers benefit from an immediate connection with the program that they are making thanks to an immediate, ‘live’ feedback on program behavior. This allows for extremely rapid creation, or variation, of robot behavior and for dramatically increased debugging speed. To enable such Live Robot Programming, in this article we propose a language that provides for live programming of nested state machines and integrates in the Robot Operating System (ROS). We detail the language, named LRP, illustrate how it can be used to rapidly implement a behavior on a running robot and discuss the key points of the language that enables its liveness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burckhardt, S., Fahndrich, M., de Halleux, P., McDirmid, S., Moskal, M., Tillmann, N., Kato, J.: It’s alive! continuous feedback in UI programming. In: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2013, pp. 95–104. ACM, New York (2013), http://doi.acm.org/10.1145/2491956.2462170
vvvv group: vvvv - a multipurpose toolkit, http://www.vvvv.org/
Kodowa Inc.: Light table - the next generation code editor, http://www.lighttable.com/
Lötzsch, M., Risler, M., Jüngel, M.: XABSL - A pragmatic approach to behavior engineering. In: Proceedings of IEEE/RSJ International Conference of Intelligent Robots and Systems (IROS), Beijing, China, pp. 5124–5129 (2006)
McDirmid, S.: Living it up with a live programming language. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications, OOPSLA 2007, pp. 623–638. ACM, New York (2007), http://doi.acm.org/10.1145/1297027.1297073
Niemüller, T., Ferrein, A., Lakemeyer, G.: A lua-based behavior engine for controlling the humanoid robot Nao. In: Baltes, J., Lagoudakis, M.G., Naruse, T., Ghidary, S.S. (eds.) RoboCup 2009. LNCS, vol. 5949, pp. 240–251. Springer, Heidelberg (2010). http://dx.doi.org/10.1007/978-3-642-11876-0_21
Tanimoto, S.: VIVA: A visual language for image processing. Journal of Visual Languages & Computing 1(2), 127–139 (1990). http://dx.doi.org/10.1016/S1045-926X(05)80012-6
Topalidou-Kyniazopoulou, A., Spanoudakis, N.I., Lagoudakis, M.G.: A case tool for robot behavior development. In: Chen, X., Stone, P., Sucar, L.E., van der Zant, T. (eds.) RoboCup 2012. LNCS, vol. 7500, pp. 225–236. Springer, Heidelberg (2013). http://dx.doi.org/10.1007/978-3-642-39250-4_21
Victor, B.: Inventing on principle. Invited Talk at CUSEC 2012, video recording available at http://vimeo.com/36579366
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Fabry, J., Campusano, M. (2014). Live Robot Programming. In: Bazzan, A., Pichara, K. (eds) Advances in Artificial Intelligence -- IBERAMIA 2014. IBERAMIA 2014. Lecture Notes in Computer Science(), vol 8864. Springer, Cham. https://doi.org/10.1007/978-3-319-12027-0_36
Download citation
DOI: https://doi.org/10.1007/978-3-319-12027-0_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-12026-3
Online ISBN: 978-3-319-12027-0
eBook Packages: Computer ScienceComputer Science (R0)