Communications in Information and Systems
Volume 17 (2017)
Nerva: Automated application synthesis for humanoid robot from user natural language description
Pages: 45 – 64
With the development of computer technology, humanoid robot becomes more and more popular. The user often hopes to use the robot to perform different kinds of tasks as needed. However, the robot manufacturer only provides limited number of robot applications in its application store, which cannot satisfy user demands in many cases. Furthermore, it is often difficult for the user to develop new robot applications as needed, because much robotic programing knowledge and manual work are required. To solve this problem, we propose a practical framework named Nerva, which can automatically synthesize robot applications from user natural language descriptions. There are three phases when Nerva works. Firstly, Nerva converts user natural language descriptions into syntax trees using natural language processing (NLP) techniques. Secondly, Nerva uses the syntax trees to synthesize intermediate language scripts. Finally, Nerva translates the intermediate language scripts into target robot applications based on robotic system APIs. We have implemented Nerva on the NAO robotic system. The experimental results show that Nerva can automatically and successfully synthesize 78.9% user-level robot applications in the NAO robot application store with a short time usage. Moreover, Nerva can also automatically synthesizes practical and useful applications for user-defined tasks which are not in the store.
This work was supported by the Tsinghua University Initiative Scientific Research Program (20141081140).