RoboMind

**Initial release**
 **Stable release**
 **Written in**
 **Type**
 **License**
 **Website**

**RoboMind**, sometimes spelled as "**Robomind**", is a simple educational programming environment with its own scripting language that allows beginners to learn the basics of computer science by programming a simulated robot. In addition to introducing common programming techniques, it also aims at offering insights in robotics and artificial intelligence. RoboMind is available as stand-alone application for Windows, Linux and Mac OS X. It was first released in 2005 and was originally developed by Arvid Halma, a student of the University of Amsterdam at that time. Since 2011 RoboMind is published by Research Kitchen.

## The simulation environment

The application is built around a two-dimensional grid world in which a robot can move around, observe neighboring cells, or mark them by leaving a paint trail. The world may also contain so-called beacons that can be carried around by the robot in order to clear its way.

Since version 4.0, it is possible to export RoboMind scripts to robots in the real world directly. Currently, Lego Mindstorms NXT 2.0 are supported.

## The scripting language

*Main Article: Scripting Language*

RoboMind offers a basic scripting language that consists of a concise set of rules. Apart from commands to make the robot perform basic movement instructions, the control flow can be modified by conditional branching (if-then-else), loops (while) and calls to custom procedures.

Example script to draw square:

```
paintWhite
repeat(4) {
    forward(2)
    right
}

```

Recursive line follower example:

```
follow

procedure follow{
    if(frontIsWhite){
              forward(1)
    }
    else if(rightIsWhite){
              right
    }
    else if(leftIsWhite){
         left
    }
    else{
         end
    }
    follow
}

```

The programming environment offers an integrated text editor to write these scripts, with syntax highlighting, autocompletion and line numbering.

Modifications to the environment, such as painting grid cells, are used to store a runtime state. This shows the robot in its environment is directly related to 2D Turing machines. Since version 5.0, the language does allow the declaration of variables and functions (procedures that return values).

The scripting language itself is currently available in 22 languages: Arabic, Catalan, Chinese, Czech, Dutch, English, French, German, Greek, Hungarian, Indonesian, Korean, Polish, Brazilian Portuguese, Russian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish and Ukrainian. All instructions and keywords can be translated. This makes it easier to learn for non-English speakers than most other programming languages that are constrained to English syntax and Latin alphabets

## Relation to other educational software

RoboMind is somewhat similar to Karel the Robot but its syntax is closer to C/C++ while Karel is closer to Pascal.

RoboMind can be related to the Logo, at which a turtle can be moved around to create geometric shapes. The syntax of RoboMind however is different and corresponds more directly to mainstream scripting languages, such as JavaScript. In RoboMind perceiving and changing the environment are of equal importance, where Logo focuses mostly on the latter. This makes RoboMind more suitable to demonstrate real life applications. In Logo, on the other hand, users have more freedom to create visual effects.

Other free educational programming languages, such as Alice and Scratch focus on the wider domain of interactive story telling.

## Research Kitchen

*Main Article: Research Kitchen*

Research Kitchen is the company that published RoboMind since 2011, it has been founded by two engineers with a clear view on science, products and markets. Research Kitchen has an extensive track record in automating complex tasks by applying and extending algorithms from computer vision, pattern recognition and machine learning.

## Trivia

* As summarized above, RoboMind is somewhat similiar to Karel the Robot, another programming language software, that contains a robot.
* RoboMind has been a bit related with Lego.
* RoboMind is not much related to another programming language softwares, in this case, Kodu Game Lab, Scratch, Logo, Minibloq, Microsoft Small Basic, RUR-PLE and TouchDevelop.
* RoboMind is one of the programming language softwares to have a website.