Jump to content

Open Roberta: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m fix some bare URLS
ce, convert bare URLs
Line 18: Line 18:
}}
}}


'''Open Roberta''' is the name of a project within the German education initiative "Roberta—Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the [[Fraunhofer Society]]. With Open Roberta Fraunhofer IAIS is looking to encourage children to code by using robots e.g. [[Lego Mindstorms]], and other programmable hardware systems e.g. [[Arduino]], [[BBC micro:bit]], [[Calliope mini]]. The [[Cloud Computing|Cloud]]-approach of the Open Roberta Lab makes programming easier and minimizes the hurdles for teachers and schools to teach how to code.<ref>[http://ojs.statsbiblioteket.dk/index.php/lom/article/view/22183/20134 Journal Learning und Medien (LOM)]</ref> Open Roberta is free and does not require any installation.<ref>[http://www.open-roberta.org/ Open Roberta Website]</ref> The project was initially founded with €1Mio<ref>[https://www.izb.fraunhofer.de/de/presse/news-24-03-2015.html Pressemitteilung von Fraunhofer IAIS].</ref><ref>[http://google-produkte.blogspot.de/2014/11/open-roberta.html Google Produkt Blog]</ref> by Google.org<ref>[http://www.google.org/ Google.org]</ref>
'''Open Roberta''' is the name of a project within the German education initiative "Roberta—Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the [[Fraunhofer Society]]. With Open Roberta Fraunhofer IAIS is looking to encourage children to code by using robots e.g. [[Lego Mindstorms]], and other programmable hardware systems e.g. [[Arduino]], [[BBC micro:bit]], [[Calliope mini]]. The [[Cloud Computing|Cloud]]-approach of the Open Roberta Lab makes programming easier and minimizes the hurdles for teachers and schools to teach how to code.<ref>{{cite web |title=Open Roberta – a Web Based Approach to Visually Program Real Educational Robots |url=https://tidsskrift.dk/index.php/lom/article/view/22183/20134 |website=Tidsskrift |accessdate=29 December 2019}}</ref> Open Roberta is free and does not require any installation. The project was initially founded with €1Mio by Google.org.<ref>{{cite web |last1=Berkler |first1=Katrin |title=Pressemitteilung vom 24.03.2015|url=https://www.izb.fraunhofer.de/de/presse/news-24-03-2015.html |website=Fraunhofer |accessdate=29 December 2019}}</ref><ref>{{cite web |title=„Open Roberta” – Fraunhofer, Google und LEGO Education lassen die Roboter los |url=https://germany.googleblog.com/2014/11/open-roberta.html |website=Google Product Blog |accessdate=29 December 2019}}</ref>


== Open Roberta Lab ==
== Open Roberta Lab ==
Line 30: Line 30:
== Programming language NEPO® ==
== Programming language NEPO® ==
[[File:NEPO program Hello-World2016.png|thumb|NEPO program Hello World]]
[[File:NEPO program Hello-World2016.png|thumb|NEPO program Hello World]]
NEPO is a free open source meta programming language that can be used by students, scholars, teachers, and other interested persons within the Open Roberta Lab. NEPO translates to New Easy Programming Online (or simply OPEN read backwards). NEPO is the name of the graphical programming language and its coupled hardware connection layer. NEPO uses the freely available [[Blockly]] library.<ref>[https://code.google.com/p/blockly/ Blockly Website]</ref> In addition within NEPO there are additional functionalities and improvements which have been adapted for Open Roberta. The programming paradigm of NEPO is inspired by [[Scratch programming language|Scratch]] from [[Massachusetts Institute of Technology]]. A NEPO block always represents and encapsulates a certain robot functionality. A blocks feature set can easily be recognized through the associated block category, for example »sensors«. Programming with NEPO follows a simple principle. The blocks are interconnected and will be executed by the robot according to their order. This principle is called »sequential operation«.<ref>[http://dev.open-roberta.org/ Open Roberta Wiki]</ref>
NEPO is a free open source meta programming language that can be used by students, scholars, teachers, and other interested persons within the Open Roberta Lab. NEPO translates to New Easy Programming Online (or simply OPEN read backwards). NEPO is the name of the graphical programming language and its coupled hardware connection layer. NEPO uses the freely available [[Blockly]] library. In addition within NEPO there are additional functionalities and improvements which have been adapted for Open Roberta. The programming paradigm of NEPO is inspired by [[Scratch programming language|Scratch]], which was developed by the [[Massachusetts Institute of Technology]]. A NEPO block always represents and encapsulates a certain robot functionality. A blocks feature set can easily be recognized through the associated block category, for example »sensors«. Programming with NEPO follows a simple principle. The blocks are interconnected and will be executed by the robot according to their order. This principle is called "sequential operation."

=== NEPO block categories ===
=== NEPO block categories ===
All available blocks are listed and categorized as the Action, Sensors, Control, Logic, Math, Text, Colours, Variables, Functions, and Massages as shown in the table below.
All available blocks are listed and categorized as the Action, Sensors, Control, Logic, Math, Text, Colours, Variables, Functions, and Massages as shown in the table below.
Line 120: Line 119:
== External links ==
== External links ==
* [http://www.open-roberta.org/ Project-Website Open Roberta]
* [http://www.open-roberta.org/ Project-Website Open Roberta]
*[https://lab.open-roberta.org/ Website Open Roberta Lab]
* [https://lab.open-roberta.org/ Website Open Roberta Lab]
* [https://github.com/OpenRoberta/robertalab Github project]
* [https://github.com/OpenRoberta/robertalab Github project]
* [http://wiki.open-roberta.org/ Website Open Roberta Wiki]
* [http://wiki.open-roberta.org/ Website Open Roberta Wiki]

Revision as of 21:59, 29 December 2019

Open Roberta
Paradigmevent-driven, imperative
Designed byBeate Jost, Reihard Budde, Thorsten Leimbach, Achim Kapusta
DeveloperFraunhofer IAIS, Media Engineering Department
First appeared2013; 11 years ago (2013) (test) 2014; 10 years ago (2014) (official)
Stable release
2.0 / October 11, 2016; 8 years ago (2016-10-11)
Typing disciplinedynamic
Implementation languageJava, JavaScript, html (NEPO)
OSWindows, Linux, iOS
License Apache License 2
Websitewww.open-roberta.org
Influenced by
Scratch, Blockly

Open Roberta is the name of a project within the German education initiative "Roberta—Learning with robots", initiated by Fraunhofer IAIS, which is an institute belonging to the Fraunhofer Society. With Open Roberta Fraunhofer IAIS is looking to encourage children to code by using robots e.g. Lego Mindstorms, and other programmable hardware systems e.g. Arduino, BBC micro:bit, Calliope mini. The Cloud-approach of the Open Roberta Lab makes programming easier and minimizes the hurdles for teachers and schools to teach how to code.[1] Open Roberta is free and does not require any installation. The project was initially founded with €1Mio by Google.org.[2][3]

Open Roberta Lab

Open Roberta Lab

Open Roberta Lab is cloud-based programming environment and is the user-facing middleware in a chain of software and firmware bits that make a robot work in a classroom environment.[4] This environment allows children and young people with no technical pre-knowledge to program a LEGO MINDSTORMS [5] EV3 and NXT robot, as well as the Arduino based robot Bot'n Roll ONE A,[6] the BBC micro:bit,[7] and the Calliope mini.[8] As of the release 2.3.0, the microboard B-O-B-3 and as of release 3.0 the microboards Arduino Uno, Arduino Nano and Arduino Mega can also be programmed using Open Roberta. There is a variety of different program blocks available to program the motors, sensors, and the EV3 brick.[9] Open Roberta Lab uses the approach of visual programming. This approach makes it easier, especially for beginners with no experience, to learn how to code. As a cloud based programming environment no installation is needed, any operation system and computer hardware device may be used.[10][11] One of the advantages of Open Roberta Lab is that it can be used with any device (PC, tablet, smartphone) and with any operating system (Mac OS, Windows, Linux). Only a web browser is needed. The Lab can be used without registration; no user account is needed. As of the release 2.2.1, the Linux-based operating system EV3dev is officially supported for the LEGO MINDSTORMS EV3 robot. Open Roberta Lab is available in the following languages: Catalan, Czech, Danish, Dutch, English, Finnish, French, German, Italian, Polish, Portuguese, Russian, Spanish and Turkish.

Open Source Community

The programming platform Open Roberta Lab is open source developed.[12] Both the software as well as the open source development tools are available on a server of Fraunhofer Society. The development team at Fraunhofer works together with teachers and education experts from the Roberta network. Therefore, also universities and students are involved in the development. It should address especially female students - the guiding principle of the Roberta project.

Programming language NEPO®

NEPO program Hello World

NEPO is a free open source meta programming language that can be used by students, scholars, teachers, and other interested persons within the Open Roberta Lab. NEPO translates to New Easy Programming Online (or simply OPEN read backwards). NEPO is the name of the graphical programming language and its coupled hardware connection layer. NEPO uses the freely available Blockly library. In addition within NEPO there are additional functionalities and improvements which have been adapted for Open Roberta. The programming paradigm of NEPO is inspired by Scratch, which was developed by the Massachusetts Institute of Technology. A NEPO block always represents and encapsulates a certain robot functionality. A blocks feature set can easily be recognized through the associated block category, for example »sensors«. Programming with NEPO follows a simple principle. The blocks are interconnected and will be executed by the robot according to their order. This principle is called "sequential operation."

NEPO block categories

All available blocks are listed and categorized as the Action, Sensors, Control, Logic, Math, Text, Colours, Variables, Functions, and Massages as shown in the table below.

Category Notes    Category Notes
  Action Includes blocks for the robot to be performed directly.      Text Includes blocks to write strings on the robot display.
  Sensors Contains blocks for all standard sensors of the EV3 system.   Colours Standard colour blocks to compare sensor inputs.
  Control Includes blocks for the program sequence control. The category includes the following blocks: If .. do, If .. do .. else, repeat indefinitely, repeat .. times, wait .. ms, wait until ..   Variables Local and global variables can be defined.
  Logic With the »logic« blocks, conditions can be created. With this condition you can interrelate states, values, and events with each other.   Functions Functions with input and output parameters can be defined.
  Math Mathematical operators and parameter blocks.   Messages Includes blocks to send and receive bluetooth massages.
  List Includes blocks to create a list and to search or sort list elements.   program-start Each program starts with this block. This block is always available in the workspace.

NEPO input / output connector

NEPO typ check input connectors

Depending on the block different values can be passed to a block. The type of the value can be identified by the colored compounds (called including »connectors«) of a block. In the chapter »block category« you can see the different values a block may have. Only if the colors of the input and the output connector match, these blocks can be connected.

A block may optionally also pass a value to another block. These blocks have colored output connectors. Only if the colors of the input and the output connector are the same, these blocks can be connected.

NEPO typ check output connectors

In total there are six input and output types within NEPO. These types can have the following values:

  • Logical value (light blue)
  • Number (dark Blue)
  • String / Text (green)
  • Colour (yellow)
  • List (purple)
  • Connection (pink)

Open Roberta Simulator

Open Roberta 2D simulation of a wheeled robot

Since version beta 1.3.0 the Open Roberta Lab also offers a simulation environment. This is a simulation of a two-dimensional robot model equipped with two wheels (differential drive). To program the simulated robot also the programming language NEPO may be used. The simulated 2D model includes the simulation of an ultrasonic sensor, a touch sensor, a color sensor and the display of an LED. In addition, different environments can be chosen. Since version beta 1.4.0 NEPO blocks can used without any changes for the 2D-Simulation and the real robot.

As of release 2.3.0, the "Gallery" is available, allowing users to share their own programs with everyone else. Logged-in users with a verified account can share their programs by clicking "edit" in the menu bar, followed by a click on the menu point "my programs." In the following overview of the programs saved online, they then just have to click on the gallery-icon on the right-hand side.

In order to load a program off the Gallery, users – logged in or not – double-click on the chosen program and are then able to view, change or download its content.

Integrated Systems

System Programming Language Firmware
LEGO Mindstorms EV3 JAVA and Python leJOS and EV3dev
LEGO Mindstoms NXT Not eXactly C (NXC) original LEGO
Calliope mini C++ Micro:Bit runtime
micro:bit Python Micro:Bit runtime
NAO Python original NAO
Bot'n Roll C++ Arduino + Bot'n Roll libriaries

History

Open Roberta is a technological extension of the "Roberta concept". Roberta (short for: "Roberta - Learning with robots") is a Fraunhofer education initiative founded in 2002 by the Germany Ministry of Education and Research.[13] Since 2002 more than 350.000 students participated in Roberta courses.

Awards

Open Roberta won the award "Bundessieger 2015" at the challenge "Germany Land of Ideas" in the category education.[14] Open Roberta won the bitkom award d-elina in the category professional.[15]

References

  1. ^ "Open Roberta – a Web Based Approach to Visually Program Real Educational Robots". Tidsskrift. Retrieved 29 December 2019.
  2. ^ Berkler, Katrin. "Pressemitteilung vom 24.03.2015". Fraunhofer. Retrieved 29 December 2019.
  3. ^ "„Open Roberta" – Fraunhofer, Google und LEGO Education lassen die Roboter los". Google Product Blog. Retrieved 29 December 2019.
  4. ^ Williams, Elliot. "Open Robots with Open Roberta". Hackaday. Retrieved 29 December 2019.
  5. ^ Willner-Giwerc, Sara. "Open Roberta: a review". Lego Engineering. Retrieved 29 December 2019.
  6. ^ "Bot'n Roll ONE a Robot".
  7. ^ "The Micro:bit Foundation is a global non-profit organisation making invention with technology fun for everyone!". microbit.org. Retrieved 2016-11-16.
  8. ^ "CALLIOPE | Home". calliope.cc. Retrieved 2016-11-16.
  9. ^ Geek in Sydney
  10. ^ „Open Roberta Lab“ Archived 2015-06-25 at the Wayback Machine
  11. ^ Jost, B., Ketterl, M., Budde, R., Leimbach, T. Graphical Programming Environments for Educational Robots: Open Roberta – Yet another One?, in IEEE International Symposium on Multimedia (ISM), December 2014
  12. ^ Sawers, Paul. "With Open Roberta, Google wants to help German school kids learn to program with robots". The Next Web. Retrieved 29 December 2019.
  13. ^ Roberta Homepage
  14. ^ Germany Land of Ideas Archived 2015-12-08 at the Wayback Machine
  15. ^ bikom award