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.
|Book series||Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)|
|Number of pages||12|
|Publication status||Published - 2014|
Bibliographical notePublisher Copyright:
© Springer International Publishing Switzerland 2014.