Development of Lego Mindstorms robots are very popular issue at the AUT department, due to its simplicity and flexible architecture. However there are other robot engineering projects, which make similar challenges for the students.
The goal of my task was to create such a modelling environment, which ensures the programming of the robot on a high abstraction level that was made for the Eurobot competition. This makes possible that everyone can be familiar with controlling the robot, without detailed knowledge of it.
To ensure the easy control of the robot by beginner users, it was necessary to develop a simulator too, which realistically show the operation of the robot. The simulator not only executes the control commands, but also has fancy graphics and physical functions according to modern user demands.
The first part of my work was the design of a domain specific modeling environment. The specification of the modeling tools for the domain were determined based on the source-code of the robot control, then displayed it graphically. I used Visual Modeling and Transformation System (VMTS) for the implementation, which supports code generation using an existing model. The application introduced in this thesis is able to generate Lua code based on the robot control structure defined in the model.
In the second part of my work I implemented a three-dimensional application to run the generated code. As it was necessary to build up a realistic model of the robot, I had to solve the model generation using its technical drawings. The playing area and the other game elements were drawn according to the Eurobot competition rules and imported to the game.
The application is able to simulate the control instructions defined in the domain specific tools. The simulator also contains a physics engine which applies rigid-body elements and collision dynamic. The development of the physics engine was also the part of my work.