RoboMind
| RoboMind | |
|---|---|
| Original authors | Arvid Halma, Research Kitchen |
| Initial release | 2005 |
| Stable release | 5.3
/ November 18, 2014 |
| Written in | Java |
| Type | Educational |
| License | RoboMind Licence[1] |
| Website | www.robomind.net |
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 the time. Since 2011, RoboMind has been published by Research Kitchen.[2]
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.[3]
The 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.[4][5] 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.
See also
- Educational programming language
- Karel the Robot (programming language)
- RUR-PLE
- Microsoft Small Basic
- Minibloq
- Logo (programming language)
- Alice (software)
- Scratch (programming language)
- Kodu Game Lab
- TouchDevelop
References
- ^ "RoboMind.net - Licence".
- ^ Research Kitchen, Delft, The Netherlands.
- ^ RoboMind's Lego Mindstorms NXT support
- ^ Robomind Turmite: 2D Turing Machine, a YouTube movie.
- ^ Sorting Turing Machine in RoboMind, a YouTube movie.
External links
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.