Thursday, November 22, 2007

Last Friday we had no class, but we’ve stared working on our project, so I still have what to write about. The topic of our project is “Robots programming using mobile devices”. We do not need to construct something by ourselves so we took already built Lego Mindstorm NXT robot, called Spike. We found later that there are several mistakes in its structure, so we had to remake it a little. Anyway, fixing wrong structure of robot without any additional parts is not as interesting as creation of robot from scratch. But we really have no enough time for playing with it. I would rather prefer to get a box with such Lego to play with at Christmas holidays :)

Let’s go back to our project work. First time we decided to make a programming environment for a pocket PC, which allow writing code in some language and then send it to the NXT device via Bluetooth. We have some guy at our department who developed some Java IDE for pocket PC devices. Also, there is a Java Virtual Machine for Lego NXT devices which allows programming Lego robots in Java. So we had an idea to extend Java IDE for pocket PC so it could be used for NXT programming. We assumed that the main difficulty will be to send compiled code to the NXT brick via Bluetooth. The idea was great, but after taking a look on how LeJOS programs are compiled and sent in Windows platform we found that the proper compilation of a program is even more challenging than Bluetooth communication. The problem is that there is a couple of third-party software which is used to create binary file in addition to the Java compiler. Porting this process to the pocket PC platform is not trivial task.

Thus, the first idea failed. It is good, but again we have no time to implement such project. So we decided to reduce our project from remote programming to the remote control of NXT robot. We are going to create a flexible mobile application which can be used to control NXT robot with LeJOS installed. The application should allow binding any action on mobile phone keypad. We found that there are still no such solutions available for the LeJOS platform (I believe that there are some but authors do not distribute them).

The work on our project is just started. We installed and configured all required software for programming in Java ME; Installed LeJOS to our robot; Wrote several simple programs for the robot to get some idea how to program NXT brick. Actually, I have some experience in working with Bluetooth on mobile phones, so I hope we should not get any big problems with it.

No comments: