By designing a first prototype of the application referred to as SIMPLE, I have managed to demonstrate that it is possible to make robots understand natural human language. Despite current functionality being limited, testing of the application by myself has shown that the concept of the NXT robot understanding and translating everyday English instructions is feasible.
Whilst it is instinctive to believe that an application like this would simplify programming of Lego Mindstorms NXT robots, I have not specifically shown this as part of my experiment (given the magnitude of the project and obvious time constraints). However, it would be easy to do so by designing a robust survey. Such survey would, nevertheless, only be meaningful if based on a more advanced version of the current prototype. Specifically,
- keywords would have to be expanded (including recognition of ‘similar’ words that may occur as a result of poor spelling)
- all instructions would have to be supported by computer code
- the prototype should be refined with input from multiple users
- the application should be customized for variable robot designs
Although my original intentions were to make voice recognition part of SIMPLE too, I decided against this for practical reasons. Nevertheless, for the type of broader future application I can envisage, this would be important.
For robotics to become more accessible, fun and useful to a greater part of the population, it is important to simplify programming. With reference to the Lego NXT Mindstorms set, it is my sense that kids are easily discouraged because of difficulties instructing their robot. Also, it is likely that if robotics is to provide the support for which it is intended, the need for programming by lay people will only increase going forward. For example, that hypothetical robot designed to assist a bed-ridden patient with minor tasks around the home (eg. fetching a glass of juice from the fridge; feeding the cat; drawing the curtains) – what practical value would it have unless it intuitively understood human language, preferably in the spoken form?
Although interest to develop solutions to programming in English appears to have waxed and waned in the past, it must be useful in settings where commands are relatively contained. It should also be possible to simplify programming of robots for lay people in this manner. Lego NXT Mindstorms is an introductory platform to robotics for many, including young children. Testing of a refined, more advanced version of an application like SIMPLE should allow exploration of the hypothesis that programming robots like the Lego NXT Mindstorms would be simplified if these robots understood and translated everyday English sentences.