Main

Codewizard

Project Information

  • Project date : September, 2005
  • Development duration : four months
  • Project Investigator: Myoungsoo Jung (MJ)
  • Developers: Myoungsoo Jung (MJ), Seunghyun Kyung, Jaewook Lee, Sanyun Lee

Code Wizard

The code wizard project enables someone who doesn’t know how to program robotics invention to easily develop their own robots. Most people can create a program through an intuitive drag and drop programming. In addition our code-wizard project provides programmable robot suites and a convenient mechanism to control them. Such robot suites consist of several peripheral devices such as interactive servo motors, and touch sensors. In this project, I designed the software architecture and implemented software engines for supporting the intuitive drag and drop programming.


Figure1: drag and drop programming framework

Intuitive Drag and Drop Programming

Users can assemble program code fragment albeit they have no knowledge of grammar of a specific language. As shown in above figure, user can choose a code block from the left side menu, and just do drag and drop the code blocks in order to build a program. The code wizard automates indent of each code block and make serialization. This process for building a program is very similar to what Lego, the toy building brick, provides. Users also can build and publish their code as a standalone program or library, which are compatible with C or C++.


Figure2: the robotics code, which are automatically generated by the drag and drop programming

One-click compile, firmware download and run

Based on program code blocks that users made, the code wizard automatically creates image by linking existing library and object through gcc compiler on behalf of users. The code wizard download the compiled image into target board or devices that users define. Since the code wizard provide internal terminal and control panel for the devices, users are able to remotely control the target board or device via the code wizard. The code wizard has an window for showing the actual code layout, made by the drag & drop programming. Based on this window, users can check their own program if they want.


Figure3: an user interface to handle several parameters, which will be used for managing a robot (such as RC motor, DC motor, LCD, etc.

Additional 70 functionalities for user conveniences

RC sub-motor control DC motor control WIS-WIG style UI for controlling peripherals and so on.

Figure4: flashing the programmed firmware for the target robot