Software:brickOS

From HandWiki

BrickOS
DeveloperMarkus Noga
OS familyEmbedded operating systems
Working stateCurrent
Source modelOpen source
PlatformsLego Mindstorms RCX Controller
Official websitebrickos.sourceforge.net

BrickOS is an open-source operating system created by Markus Noga as firmware to operate as an alternative software environment for the Lego Mindstorms Robotic Invention System.[1] BrickOS is the first open-source software made for Lego Mindstorms robots. It is embedded with a C/C++-based and a Java-based environment for RCX program through utilizing g++ and jack toolchain. It uses a Hitachi H8 cross compiler assembler as its primary toolchain.

The operating system comprises demonstration programs implemented in C and C++ and an alternative operating system for the Lego Mindstorms. It provides users with utilities that allows them to download compiled programs and install the operating system for RCX.

Features

BrickOS was designed and developed using Linux as a replacement for the previous operating system for Lego Mindstorms, which is also known as LegOS. It is capable of being implemented on the Windows system and most Unices. It allows for a more flexible and higher performances system that is much superior to LegOS.[2] The current version of the system's main features includes:[2]

Features
An API (Application Programming Interface) that supports dynamic loading of programs and modules
Preemptive multitasking
16 MHz native mode speed
Driver for all RCX systems (Sensors, motors, sound, etc.)
Access to 32k RAM
Full infrared (IR) packet networking (provide communications for users with personal computers through USB port)
Dynamic memory management
Programming languages, e.g., C, C++, or Java
Built-in support for POSIX semaphores

BrickOS programs are executed natively instead of interpreted bytes code like that of a standard firmware which in terms makes the program faster. BrickOS is flexible with controlling outputs, for instance, it can alter 255 value of motor speed.[3] Another feature is that brickOS contains a LegOS Network Protocol (LNP) which allows for more than one driver to communicate. This protocol will broadcast message to any RCXs component within the receiving area. By adding layers to the command, the message can filter out the recipient to arrive at the addressed RCX.

BrickOS provides a development environment that allows users to freely implement the provided RCX drivers, such as sensors and motors, using C or C++ programming languages. It can be used alongside libre simulators LegoSim and Emmulegos, which provide graphical interfaces to create a virtual machine that eases the users in the debugging process. The success of the system is built upon the community that constructed it. The system library and resources at any moment can be modified and updated freely with new functionalities and solutions from the programming community, separating the system from the limited tools provided by the manufacturer. With the help of the Internet, solutions are made accessible to everyone.

Application

Robotics

The implementation of robots has become a crucial asset in this current industrial world. In robotics, libre software (or open-source software) like brickOS is considered a traditional tool for developing robots.[4] The potential robotic application, in general, is vast. For instance, many enterprises have decided to bring robotics into use to replace human labor in factories for manufacturing products and managing storage. The essential of these applications has become a motivation for industries to invest in further research in robotics. The practices of the open-source software in robotic research have inspired the formation of the Robocup competition. An organization called Robocup have created an international playground for the problem-solving, educational initiative, and research in robotics. Participants are allowed to share code and utilize it to solve problems. The competitive environment allows for multiple different engagements toward the problems and effectively produces alternative solutions to a single problem. These solutions can be made public to the community for improving the resource.

Education

BrickOS was a collaboration project between LEGO and MIT to create an educational tool for teaching the implementation of sensors and motors on robots. The operating system's development environment has been adopted in courses by several universities like Universidade Federal do Amazonas (UFA) in Brazil to be used as a platform for graduating college students to gain exposure in the early year of their career to programming C and C++ cross-compilation tools. The simplicity of the mechanical devices in the Lego Mindstorm kit allows for obtaining the concept of robots and developing creative and logical thinking. There exists empirical evaluation on the benefits of robotic learning that it enhanced pupil's ability in planning toward the objective and collaborations among peers.

See also

References

External links