Enchanting (programming language)

Last updated

Enchanting is a free and open-source cross-platform educational programming language designed to program Lego Mindstorms NXT robots. [1] It is primarily developed by Southern Alberta Robotics Enthusiasts group in the province of Alberta, Canada, and runs on Mac OS X, Windows, and experimentally on Linux devices. Since 2013, the Enchanting version 0.2 has been available.

Contents

Technology

Its predecessor, the 1998 Robotics Invention System was developed by Scratch developer team led by Mitch Resnick at MIT Media Lab. Based on BYOB, which is developed by the University of California, Berkeley, the current version of Enchanting runs on Windows XP, Windows Vista, Windows 7 and Windows 8 (but not Windows 8 RT); on Mac OS X it runs on version 10.4 and newer; and on Linux it runs on Ubuntu version 10.10.

Educational resources, use and events

It has been used in secondary-to-tertiary computer science program at Monash University in Australia, where an interactive PDF book for use on computer or iPad, titled Robotics with Enchanting and LEGO NXT is available for free download. Most recent SABRE Games, organized in 2013 by Southern Alberta Robotics Enthusiasts group, consisted of three disciplines: Tug Of War, where two robots are tied together with a string and each tries to pull its opponent over the center line; Sumo, where two robots are placed in a sumo ring and each tries to find and push its opponent out without going out of the ring itself; and Parade, where robots follow a line trying not to crash into the robot in front.

Related Research Articles

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Lego Mindstorms</span> Hardware and software platform by Lego

Lego Mindstorms is a discontinued hardware and software structure which develops programmable robots based on Lego bricks.

<span class="mw-page-title-main">The SWORD Project</span>

The SWORD Project is the CrossWire Bible Society's free software project. Its purpose is to create cross-platform open-source tools—covered by the GNU General Public License—that allow programmers and Bible societies to write new Bible software more quickly and easily.

These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.

A phidget is a physical representation or implementation of a GUI widget. For example, an on-screen dial widget could be implemented physically as a knob.

In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preemptive scheduler usually runs in the most privileged protection ring, meaning that interruption and then resumption are considered highly secure actions. Such changes to the currently executing task of a processor are known as context switching.

Interactive C is a program which uses a modified version of ANSI C with several libraries and features that allow hobbyists to program small robotics platforms.

<span class="mw-page-title-main">Lego Mindstorms NXT</span> Programmable robotics kit

Lego Mindstorms NXT is a programmable robotics kit released by Lego on August 2, 2006. It replaced the Robotics Invention System, the first-generation Lego Mindstorms kit. The base kit ships in two versions: the retail version and the education base set. It comes with the NXT-G programming software or the optional LabVIEW for Lego Mindstorms. A variety of unofficial languages exist, such as NXC, NBC, leJOS NXJ, and RobotC. A second-generation set, Lego Mindstorms NXT 2.0, was released on August 1, 2009, with a color sensor and other upgrades. The third-generation EV3 was released in September 2013.

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.

Next Byte Codes (NBC) is a simple language with an assembly language syntax that can be used to program Lego Mindstorms NXT programmable bricks. The command line compiler outputs NXT compatible machine code, and is supported on Windows, Mac OS and Linux. It is maintained by John Hansen, a Mindstorms Developer Program member.

Binary-code compatibility is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer Central processing unit (CPU), that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

<span class="mw-page-title-main">Unix-like</span> Operating system that behaves similarly to Unix, e.g. Linux

A Unix-like operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. Although there are general philosophies for Unix design, there is no technical standard defining the term, and opinions can differ about the degree to which a particular operating system or application is Unix-like.

<span class="mw-page-title-main">Bricx Command Center</span>

Bricx Command Center (BricxCC) is the integrated development environment (IDE) of Next Byte Codes (NBC), Not Quite C (NQC) and Not eXactly C (NXC). These programming languages are used to program the Robots in the Lego Mindstorms series. Not Quite C and Not eXactly C have a syntax like C. Bricx Command Center is currently limited to computers running the Microsoft Windows operating system. However, a version for the Linux operating system is currently in development. It is written by John Hansen.

<span class="mw-page-title-main">Lego Mindstorms EV3</span>

LEGO Mindstorms EV3 is the third generation robotics kit in LEGO's Mindstorms line. It is the successor to the second generation LEGO Mindstorms NXT kit. The "EV" designation refers to the "evolution" of the Mindstorms product line. "3" refers to the fact that it is the third generation of computer modules - first was the RCX and the second is the NXT. It was officially announced on January 4, 2013, and was released in stores on September 1, 2013. The education edition was released on August 1, 2013. There are many competitions using this set, including the FIRST LEGO League Challenge and the World Robot Olympiad, sponsored by LEGO.

Comparison of user features of operating systems refers to a comparison of the general user features of major operating systems in a narrative format. It does not encompass a full exhaustive comparison or description of all technical details of all operating systems. It is a comparison of basic roles and the most prominent features. It also includes the most important features of the operating system's origins, historical development, and role.

References

  1. Enchanting robotics is just magic, GEEK in Sydney, 8 May 2012